Commit graph

  • 8bc54a99ad Move mcause generation to serv_csr Olof Kindgren 2019-09-25 23:08:38 +02:00
  • 2b5c71fe9b Gate mem_rd in mem_if Olof Kindgren 2019-09-26 23:31:23 +02:00
  • 0f767ad2d3 Gate mem_misalign in mem_if Olof Kindgren 2019-09-26 23:23:42 +02:00
  • 5b96b3a938 Simplify jump flag Olof Kindgren 2019-09-26 23:12:07 +02:00
  • 7bd89deb41 Simplify mret/csr address generation Olof Kindgren 2019-09-24 07:38:47 +02:00
  • 126937f16a Rewrite RF and state machine Olof Kindgren 2019-09-17 16:01:43 +02:00
  • 8481fb46a1 Remove dead code Olof Kindgren 2019-09-23 21:10:08 +02:00
  • bad823ff6d Fix syntax error for o_take_branch Olof Kindgren 2019-09-21 23:01:32 +02:00
  • ca2beaf786 Pass rf_rreq through serv_state Olof Kindgren 2019-09-16 20:54:26 +02:00
  • 3d6eb3feca Separate rf_ready and dbus_ack Olof Kindgren 2019-09-16 19:15:20 +02:00
  • 27621a285e rtl: Make compatible to Synopsys Design Compiler Florian Zaruba 2019-09-26 22:47:27 +02:00
  • 69627445bf
    rtl: Make compatible to Synopsys Design Compiler Florian Zaruba 2019-09-26 22:47:27 +02:00
  • ec6c7a7cd5 Update README Olof Kindgren 2019-09-16 16:57:56 +02:00
  • 920ad92bc7 Remove unused rs_en signal Olof Kindgren 2019-09-16 10:45:42 +02:00
  • 6518b5f30f Simplify bufreg_hold Olof Kindgren 2019-09-16 09:05:47 +02:00
  • ef7706f26b Simplify two-stage signalling Olof Kindgren 2019-09-16 09:03:02 +02:00
  • d4c782bce6 Set o_dbus_we directly from decode Olof Kindgren 2019-09-16 00:13:21 +02:00
  • b9e410a0a0 Remove bytepos from serv_mem_if Olof Kindgren 2019-09-16 00:07:58 +02:00
  • 5a44634ee5 Avoid exposing funct3 from decode Olof Kindgren 2019-09-15 23:50:02 +02:00
  • 9575eb4fef Separate decode and state Olof Kindgren 2019-09-14 23:55:27 +02:00
  • 7289a68f6e Separate state from o_bufreg_loop Olof Kindgren 2019-09-14 22:52:41 +02:00
  • c0a177aebe Simplify o_alu_cmp_uns Olof Kindgren 2019-09-14 22:21:25 +02:00
  • 1248043a39 Separate state and decode from CSR signals Olof Kindgren 2019-09-14 22:18:03 +02:00
  • ef3fc9274d Rename misleading signal names Olof Kindgren 2019-09-13 23:25:46 +02:00
  • 8c63a1a22f Simplify bufreg.i_clr Olof Kindgren 2019-09-13 23:24:06 +02:00
  • 8dc137fb07 Kill of mem_init and mem_en Olof Kindgren 2019-09-13 23:03:58 +02:00
  • e20e0eef8f Optimize dbus_cyc Olof Kindgren 2019-09-13 22:18:58 +02:00
  • 8cd9742b53 Use two write ports for RF/CSR RAM Olof Kindgren 2019-07-28 13:30:39 +02:00
  • a0ba84096a Simplify csr stuff Olof Kindgren 2019-07-16 23:45:43 +02:00
  • 7425128dd8 Pass imm offsets through bufreg Olof Kindgren 2019-08-22 09:53:14 +02:00
  • 28a2bbdb60 Rename misleading signal name Olof Kindgren 2019-08-17 09:44:13 +02:00
  • 286a07bfc8 Mask rvfi_valid during reset release Olof Kindgren 2019-08-26 23:02:41 +02:00
  • e059b7cf09 Add timeout argument Olof Kindgren 2019-08-22 09:46:06 +02:00
  • 65eb89323a Replace wb_ram with servant_ram Olof Kindgren 2019-08-25 20:45:23 +02:00
  • d2cf7e547a Interrupt refactoring Olof Kindgren 2019-08-16 23:49:44 +02:00
  • 3c1582b7b2 Remove unused RVFI defines Olof Kindgren 2019-08-13 22:22:45 +02:00
  • 892388627c Speed up memory accesses Olof Kindgren 2019-08-10 23:27:00 +02:00
  • f754fffdac Make default target runnable Olof Kindgren 2019-07-29 08:40:15 +02:00
  • 71a1abe602 Add missing RVFI port Olof Kindgren 2019-07-16 23:42:10 +02:00
  • fb7c6c1458 Simplify csr_en logic Olof Kindgren 2019-07-14 01:03:04 +02:00
  • 31852f175d Simplify alu_cmp_eq control logic Olof Kindgren 2019-07-13 21:13:52 +02:00
  • af3b82f9ac Optimize take_branch condition Olof Kindgren 2019-07-08 22:37:52 +02:00
  • 88b199a97c Fix typo in service reset signal Olof Kindgren 2019-07-13 21:07:11 +02:00
  • 16c93a58ee Move mepc and mtval into RF memory Olof Kindgren 2019-07-07 23:08:26 +02:00
  • 93f7b582bb Remove unused localparam Olof Kindgren 2019-07-07 22:09:44 +02:00
  • 2fb56ac62d Update serv_top.v AlAlves 2019-06-26 16:49:01 +02:00
  • 3281acccbf
    Update serv_top.v AlAlves 2019-06-26 16:49:01 +02:00
  • e107627e71 Reduce warnings Olof Kindgren 2019-06-24 15:22:08 +02:00
  • 4b371c533f Add nexys a7 support Olof Kindgren 2019-06-24 13:18:20 +02:00
  • fe9d2677ba Add SERV_CLEAR_RAM parameter Olof Kindgren 2019-06-24 11:22:06 +02:00
  • 70bdce9d8e Refactor gpio/uart output in tb Olof Kindgren 2019-06-24 10:35:22 +02:00
  • bad78b0bd7 Declare wires before use Olof Kindgren 2019-06-07 23:43:04 +02:00
  • cf7e516526 Refactor to separate serv and servant Olof Kindgren 2019-06-07 10:45:10 +02:00
  • c91a5a43c1 Update README.md Aliaksei Chapyzhenka 2019-06-07 14:19:37 -07:00
  • 8c773da110
    Update README.md Aliaksei Chapyzhenka 2019-06-07 14:19:37 -07:00
  • 42ac1e5e4d Store CSR in RF RAM Olof Kindgren 2019-03-18 12:16:31 +01:00
  • b0a062ae21 Speed up instruction fetching Olof Kindgren 2019-03-27 23:16:07 +01:00
  • bba836ad8c Fix width mismatches to make code verilator clean Olof Kindgren 2019-03-25 15:39:18 +01:00
  • 3438e0f172 Optimize mcause CSR Olof Kindgren 2019-03-20 17:35:17 +01:00
  • 6e91409990 Optimize alu eq check Olof Kindgren 2019-02-27 20:45:51 +01:00
  • a550137453 Use bufreg for shifter Olof Kindgren 2019-01-22 09:47:11 +01:00
  • 102936ba40 Add license file Olof Kindgren 2019-01-16 08:12:13 +01:00
  • fe33d6abdc Move dbus address handling to global bufreg Olof Kindgren 2019-01-15 07:57:47 +01:00
  • 9a97c535bd Use ring buffer for counter LSBs Olof Kindgren 2019-01-15 07:55:07 +01:00
  • 215da65e82 Optimize serv_mem_if Olof Kindgren 2019-01-14 08:58:42 +01:00
  • 6f4c85f16d Optimize alu_sub control flag Olof Kindgren 2019-01-14 08:52:06 +01:00
  • 45f6d408f8 Remove dead code Olof Kindgren 2019-01-14 08:50:45 +01:00
  • 3a68cc0e77 Improve critical path in ctrl Olof Kindgren 2019-01-12 22:33:31 +01:00
  • 813f9f4951 Rewrite CSR selection Olof Kindgren 2019-01-10 13:48:45 +01:00
  • f5a1590422 Remove duplicated adder+inverter Olof Kindgren 2018-12-26 23:41:49 +01:00
  • ba79ffdf0b Prevent writes to x0 Olof Kindgren 2018-12-25 13:44:38 +01:00
  • 8ae05ea4cf Rewrite immediate decoder Olof Kindgren 2018-12-14 07:35:03 +01:00
  • 78821c16b3 Optimize op_b selector Olof Kindgren 2018-12-14 06:12:00 +01:00
  • e3e616903e Optimize bool operations Olof Kindgren 2018-12-12 22:30:47 +01:00
  • 1d04ed9c50 Fix errors in core file Olof Kindgren 2018-12-16 08:48:48 +01:00
  • 4a224fc985 Fix failing compliance tests Olof Kindgren 2018-12-13 10:52:21 +01:00
  • 3f5c25d8f2 Silence LSE warnings Olof Kindgren 2018-12-12 21:20:44 +01:00
  • 09bb05071e Fix bugs and missing resets to pass formal Olof Kindgren 2018-12-11 22:05:32 +01:00
  • af1d4da8bf Fix rvfi logic Olof Kindgren 2018-12-11 22:02:03 +01:00
  • f52eb1931d Add info about some of serv's shortcomings Olof Kindgren 2018-12-08 00:16:35 +01:00
  • f627aee1a1 Syntax fixes to please Vivado Olof Kindgren 2018-12-07 23:20:47 +01:00
  • 468e99ac7c Syntax fixes to please Quartus Olof Kindgren 2018-12-07 22:55:55 +01:00
  • 6cd3d2d3ef Fix rvfi_insn Olof Kindgren 2018-12-06 23:47:52 +01:00
  • 836a013462 Fix clock generation Olof Kindgren 2018-12-06 22:12:03 +01:00
  • b569d08d02 Update documentation Olof Kindgren 2018-12-05 19:36:14 +01:00
  • fc82862e96 Add icepll generator and run tinyfpga BX at 32MHz Olof Kindgren 2018-12-03 12:26:17 +01:00
  • 16666c319e Update zephyr submodule Olof Kindgren 2018-11-26 23:17:21 +01:00
  • 7fabafa9cf Add sync example Olof Kindgren 2018-11-26 23:15:53 +01:00
  • 25791b10c2 Add memsize param to FPGA targets Olof Kindgren 2018-11-26 23:13:50 +01:00
  • cd983190b3 Interrupts working. Adding philosophers example Olof Kindgren 2018-11-26 23:03:40 +01:00
  • e1a883acc2 Add zephyr fork as submodule Olof Kindgren 2018-11-26 18:05:01 +01:00
  • 05640dfe30 Update README Olof Kindgren 2018-11-26 18:00:39 +01:00
  • 4649b7073f Update example applications Olof Kindgren 2018-11-26 18:00:29 +01:00
  • ec8252ea0a Add memsize parameter Olof Kindgren 2018-11-26 17:54:10 +01:00
  • 11a2195146 First attempt att interrupt support Olof Kindgren 2018-11-26 16:01:07 +01:00
  • 12039dec0e Add support for setting memory contents during synthesis Olof Kindgren 2018-11-26 09:49:08 +01:00
  • e1f5bcc4f3 Rewrite register file Olof Kindgren 2018-11-26 00:09:52 +01:00
  • a974320f46 Further optimizations Olof Kindgren 2018-11-23 21:26:49 +01:00
  • b8f5133267 Random optimizations Olof Kindgren 2018-11-23 13:59:07 +01:00
  • 1bbf8e3ce9 Synthesis fixes Olof Kindgren 2018-11-22 20:58:45 +01:00