Commit graph

42 commits

Author SHA1 Message Date
Olof Kindgren
14262bfc30 Rewrite logic expression of alu bool operations 2021-05-15 23:07:55 +02:00
Olof Kindgren
548b7fbb41 remove redundant ALU control signal 2021-03-14 23:22:50 +01:00
Olof Kindgren
727bb40a87 Simplify control logic for bool ops 2021-03-14 00:12:29 +01:00
Olof Kindgren
9a0b0e877c Move shifter to mem_if
This allows reusing the data bus registers for shift amount
2021-02-06 23:24:23 +01:00
Olof Kindgren
f70b79fd8f Combine lt and eq regs to cmp_r in serv_alu 2021-02-01 22:37:45 +01:00
Olof Kindgren
5e4181d204 Optimize shift operations 2021-01-18 22:46:51 +01:00
Olof Kindgren
0bc19ef13c Clean up serv_alu interface 2021-01-06 22:02:13 +01:00
Olof Kindgren
c9f41b54e8 Optimize init signal 2020-12-22 22:13:57 +01:00
Olof Kindgren
44287ed244 Remove unused reset input from serv_alu 2020-11-10 15:16:19 +01:00
Olof Kindgren
f10cb89ae4 Fix double-defined result_lt wire 2020-09-29 14:12:57 +02:00
Olof Kindgren
88a1a43438 Refactor and Use ALU subtractor for comparisons 2020-08-13 23:37:11 +02:00
Olof Kindgren
707f63ae8c Rename ser_shift to serv_shift for consistency 2020-05-26 22:48:40 +02:00
Olof Kindgren
9606e3503d Inline shift_reg 2020-05-26 22:43:23 +02:00
Olof Kindgren
1d311edb7d Make counter internal in serv_state 2020-04-15 10:29:50 +02:00
dh73
2a7596b51d Declare variables/nets before referenced 2020-03-25 23:31:55 +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
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
3179cfb107 Optimize alu eq_r and lt_r 2019-12-03 10:28:27 +01: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
31852f175d Simplify alu_cmp_eq control logic 2019-07-23 12:10:38 +02:00
Olof Kindgren
af3b82f9ac Optimize take_branch condition 2019-07-23 12:10:38 +02:00
Olof Kindgren
e107627e71 Reduce warnings 2019-06-24 15:22:08 +02:00
Olof Kindgren
bba836ad8c Fix width mismatches to make code verilator clean 2019-03-25 20:57:13 +01:00
Olof Kindgren
6e91409990 Optimize alu eq check 2019-03-20 08:35:43 +01:00
Olof Kindgren
a550137453 Use bufreg for shifter 2019-03-20 08:35:43 +01:00
Olof Kindgren
f5a1590422 Remove duplicated adder+inverter 2019-01-10 18:15:20 +01:00
Olof Kindgren
e3e616903e Optimize bool operations 2018-12-25 13:13:04 +01:00
Olof Kindgren
09bb05071e Fix bugs and missing resets to pass formal 2018-12-11 22:05:32 +01:00
Olof Kindgren
1bbf8e3ce9 Synthesis fixes 2018-11-22 20:58:45 +01:00
Olof Kindgren
9df2a0060b Use custom interconnect. Runs on hw 2018-11-21 13:15:33 +01:00
Olof Kindgren
f66f82a57a Add explicit wire defs to ports 2018-11-17 21:30:03 +01:00
Olof Kindgren
cbbdaed112 slli, srli, add, sll, sltiu, slt, xor, srl, sra, or, and 2018-11-02 13:48:08 +01:00
Olof Kindgren
8409aa4c4b lh, lw, lbu, lhu, sb, sh, slti 2018-11-01 22:51:51 +01:00
Olof Kindgren
c90920d9b2 bge, bltu, bgeu 2018-11-01 09:35:49 +01:00
Olof Kindgren
d4bbe17e78 jalr, blt 2018-10-31 14:51:28 +01:00
Olof Kindgren
d4b2697761 auipc, sub 2018-10-30 23:33:28 +01:00
Olof Kindgren
96b1906676 bne, srai 2018-10-30 22:41:05 +01:00
Olof Kindgren
66000a77f5 beq, sw 2018-10-28 23:54:04 +01:00
Olof Kindgren
c2030a95fd jal, addi, lui, lb 2018-10-26 22:52:39 +02:00
Olof Kindgren
e10c41be8d Initial commit 2018-10-23 23:45:41 +02:00