Commit graph

375 commits

Author SHA1 Message Date
Olof Kindgren
fca1527dd7 Add cyc1000 target 2020-02-29 15:29:07 +01:00
Olof Kindgren
e39b4770fd Add quartus-friendly RAM implementation 2020-02-29 15:26:17 +01:00
Olof Kindgren
ea1936710e Inline ser_lt 2020-02-19 13:15:18 +01:00
Olof Kindgren
afb7e641dd Inline adders 2020-02-19 11:00:55 +01:00
Olof Kindgren
7f16f17ca5 Optimize CSR immediate handling 2020-02-19 10:02:48 +01:00
Olof Kindgren
badcd7ea55 Remove duplicate signals in serv_state 2020-02-17 23:48:39 +01:00
Olof Kindgren
36746d3890 Remove unused signals 2020-02-17 23:01:49 +01:00
Olof Kindgren
5aa1fbe709 Stop depending on run state 2019-12-08 22:51:28 +01:00
Olof Kindgren
6067b0e684 Use one-hot encoding for ALU rd sel 2019-12-07 23:36:36 +01:00
Olof Kindgren
eb5d25ea1c Move op_b mux to alu 2019-12-07 23:09:04 +01:00
Olof Kindgren
b516c10d72 Prepare for RF write on RF read request and optimize state FSM 2019-12-07 23:01:24 +01:00
Olof Kindgren
31c138e4a1 Create RAM and RF IF with configurable widths 2019-12-05 22:35:53 +01:00
Olof Kindgren
68d8af71f2 Use serv_rf_top in default and lint targets 2019-12-05 22:35:14 +01:00
Olof Kindgren
e93fd0d30e Fix compile errors with RISCV_FORMAL 2019-12-04 23:42:40 +01:00
Olof Kindgren
3179cfb107 Optimize alu eq_r and lt_r 2019-12-03 10:28:27 +01:00
Olof Kindgren
8b82c85fb6 Create toplevel without RF 2019-11-20 18:26:04 +01:00
Olof Kindgren
4532c8dafd Move rd selection to rf_if 2019-11-20 18:26:04 +01:00
Olof Kindgren
04037c4354 Split out RF to separate module 2019-11-20 18:26:04 +01:00
Olof Kindgren
fc348f3a22 Fix wen delays in rf 2019-11-20 18:26:04 +01:00
Olof Kindgren
a7d7d6475b Update Zephyr port to v1.14 2019-11-19 13:44:17 +01:00
Olof Kindgren
40000cbeb9 Fix IRQ
This contains a lot of fixes as IRQ support was broken on both
RTL and zephyr side

* Interrupts are now synced to instruction lifetimes
* Interrupts are disabled on traps and mie is pushed to mpie
* Zephyr applications regenerated from rewritten Zephyr port
* Timer is 32-bit to avoid wrapping around too often
* MEPC was not read properly from CSR storage
2019-11-19 11:06:50 +01:00
Olof Kindgren
603c168d9b Allow readback of GPIO signal 2019-11-19 10:46:30 +01:00
Olof Kindgren
ed02951b4d Add vcd_start parameter 2019-11-19 10:46:15 +01:00
Olof Kindgren
40e7855bac Add width and divider parameters to servant_timer 2019-11-19 10:46:03 +01:00
Olof Kindgren
1a961af5ac Only allocate used RF mem 2019-11-10 21:45:34 +01:00
Gwenhael Goavec-Merou
61c8a6b886 add arty_a7_35t support 2019-11-10 21:44:50 +01:00
Gwenhael Goavec-Merou
d90030b955 xilinx PLL: allows to specify PLL output frequency (16 or 32 MHz) 2019-11-10 21:44:50 +01:00
Gwenhael Goavec-Merou
1f6d215d19 README: argument to use blinky example instead of hello world is true for all boards 2019-11-10 15:36:15 +01:00
Gwenhael Goavec-Merou
cf187bc81e README: --firmware parameter only available for sim and verilator_tb targets 2019-11-07 09:05:33 +01:00
Fabien Marteau
529cf6192b path correction and little comment (#12)
* path fixed

* Update README.md

Little comment to says that simulation should be stopped with Ctrl-C.

* Update README.md

adding dependencies

* Update README.md
2019-11-05 10:04:59 +01:00
Olof Kindgren
9c83e39635 Initialize state of verilator UART decoder 2019-11-04 13:01:31 +01:00
Olof Kindgren
98bfcc3b62 Remove unused jalr signal 2019-10-30 09:07:58 +01:00
Olof Kindgren
75decc8251 Bring back old immediate decoder
This was originally thrown out since it was slow and cost too much
resources. Due to other changes in the core, it is now cheaper
than the other one
2019-10-29 21:54:22 +01:00
Olof Kindgren
ab39209773 Move servant arbiter below dbus mux 2019-10-29 21:53:13 +01:00
Olof Kindgren
72e34ce795 Simplify servant_arbiter 2019-10-29 21:53:13 +01:00
Olof Kindgren
4f32975989 Consistent naming of servant components 2019-10-29 21:53:13 +01:00
Olof Kindgren
9b5401811e servant: Only ignore memfile for verilator 2019-10-29 21:53:13 +01:00
Olof Kindgren
57b4fca05f Ignore initial garbage in verilator UART decoder 2019-10-29 21:53:13 +01:00
Olof Kindgren
574464a33b De-pipeline alu_result_sel 2019-10-29 21:53:13 +01:00
Fabien Marteau
b9a9e99e2b Suppressing some verilator lint warnings 2019-10-22 10:53:23 +02:00
Fabien Marteau
e5061ca5f8 Update README.md (#9)
* Update README.md
2019-10-22 09:15:35 +02:00
Olof Kindgren
8bc54a99ad Move mcause generation to serv_csr 2019-09-26 23:36:02 +02:00
Olof Kindgren
2b5c71fe9b Gate mem_rd in mem_if 2019-09-26 23:31:23 +02:00
Olof Kindgren
0f767ad2d3 Gate mem_misalign in mem_if 2019-09-26 23:23:42 +02:00
Olof Kindgren
5b96b3a938 Simplify jump flag 2019-09-26 23:12:07 +02:00
Olof Kindgren
7bd89deb41 Simplify mret/csr address generation 2019-09-26 23:09:22 +02:00
Olof Kindgren
126937f16a Rewrite RF and state machine
Big patch, but would take more work to split it up
2019-09-26 23:09:22 +02:00
Olof Kindgren
8481fb46a1 Remove dead code 2019-09-26 22:59:46 +02:00
Olof Kindgren
bad823ff6d Fix syntax error for o_take_branch 2019-09-26 22:59:46 +02:00
Olof Kindgren
ca2beaf786 Pass rf_rreq through serv_state 2019-09-26 22:59:46 +02:00