From 3d5ee8f6e6f4e6030d1d3d03e9554f3e1df8d0ee Mon Sep 17 00:00:00 2001 From: Charles Ancheta <55412395+cbebe@users.noreply.github.com> Date: Tue, 6 Feb 2024 13:01:03 -0700 Subject: [PATCH] Run non-branching instructions Closes #12. --- Makefile | 9 ++++ docs/controller.md | 7 ++++ docs/rv32i-timing.pdf | Bin 0 -> 156361 bytes rtl/core/alu_control.vhd | 25 ++++++++++- rtl/core/control_fsm.vhd | 78 ++++++++++++++++++++++++----------- rtl/core/memory.vhd | 19 +++++---- rtl/core/program_counter.vhd | 8 ++-- rtl/core/register_file.vhd | 7 ++++ rtl/test/alu_control_tb.vhd | 5 ++- rtl/test/topmodule_tb.vhd | 6 ++- 10 files changed, 122 insertions(+), 42 deletions(-) create mode 100644 docs/rv32i-timing.pdf diff --git a/Makefile b/Makefile index 0f0645b..b3e3553 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,7 @@ FMT_SRC := $(patsubst %, fmt-%,$(VHDL_SRC) $(VHDL_TEST_SRC)) export GHDL_FLAGS := compile --std=08 # GHDL_FLAGS += -frelaxed +export RUN_FLAGS := --ieee-asserts=disable # If you wanna silence annoying errors # export RUN_FLAGS := --assert-level=warning # If you wanna be super strict test: $(VHDL_TEST_BENCHES) @@ -31,6 +32,14 @@ rtl/core/rom_pkg.vhd: scripts/asm/main.go \ %_tb: $(TEST_DIR)/%_tb.vhd $(SRC_DIR)/%.vhd @TB="$@" ./scripts/run_test.sh $^ +_CONTROLLER := control_fsm \ + fysh_fyve_pkg \ + +CONTROLLER := $(patsubst %, $(SRC_DIR)/%.vhd, $(_CONTROLLER)) + +control_fsm_tb: $(TEST_DIR)/control_fsm_tb.vhd $(CONTROLLER) + @TB="$@" ./scripts/run_test.sh $^ + _ALU := alu \ fysh_fyve_pkg \ diff --git a/docs/controller.md b/docs/controller.md index 76363cc..869ef7c 100644 --- a/docs/controller.md +++ b/docs/controller.md @@ -20,5 +20,12 @@ done_o : out std_logic | ----------- | ------- | ------- | ---- | ----- | ----- | ------------ | ------ | ------ | ------ | ------ | ------- | ---- | | lui | 01 | 0 | 1 | [1] | 1 | 0 | dr | dr | dr | 1 | 0 | 0 | | auipc | 01 | 0 | 1 | 1 | 1 | 0 | dr | dr | dr | 0 | 0 | 0 | +| addi | 01 | 0 | 1 | 0 | 1 | 0 | dr | dr | dr | 1 | 0 | 0 | + +| A | B | A ^ B | +| ----- | ------------------ | -------- | +| lui | auipc | bit 5 | -- LUI is just immediate +| auipc | register-immediate | bit 2 | +| lui | register-immediate | bit 2, 5 | [^1] This somehow has to be pointing to 0! how? and the op bits should be add! diff --git a/docs/rv32i-timing.pdf b/docs/rv32i-timing.pdf new file mode 100644 index 0000000000000000000000000000000000000000..09724078e850b438bf57bea2247c40573fc9fb36 GIT binary patch literal 156361 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

um422A+M*y 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 literal 0 HcmV?d00001 diff --git a/rtl/core/alu_control.vhd b/rtl/core/alu_control.vhd index 1f8bee5..d35c4f7 100644 --- a/rtl/core/alu_control.vhd +++ b/rtl/core/alu_control.vhd @@ -47,10 +47,13 @@ architecture rtl of alu_control is signal lt : std_ulogic := '0'; signal ltu : std_ulogic := '0'; + signal rs1_or_zero : std_ulogic_vector (31 downto 0) := (others => '0'); + signal alu_a_sel : std_ulogic := '0'; signal alu_b_sel : std_ulogic := '0'; signal addr_sel : std_ulogic := '0'; + signal rd_clk : std_ulogic := '0'; signal rd_sel : std_ulogic_vector (1 downto 0) := (others => '0'); signal alu : std_ulogic_vector (31 downto 0) := (others => '0'); signal pc : std_ulogic_vector (31 downto 0) := (others => '0'); @@ -63,8 +66,20 @@ begin if rising_edge(clk_i) then write(l, string'("pc_clk: ")); write(l, pc_clk); + write(l, string'(" rd_clk: ")); + write(l, rd_clk); write(l, string'(" pc: ")); write(l, to_hstring(pc)); + write(l, string'(" instruction_i: ")); + write(l, to_hstring(instruction_i)); + write(l, string'(" func3: ")); + write(l, instruction_i(14 downto 12)); + write(l, string'(" alu_a_op: ")); + write(l, to_hstring(alu_a_op)); + write(l, string'(" alu_b_op: ")); + write(l, to_hstring(alu_b_op)); + write(l, string'(" alu_o: ")); + write(l, to_hstring(alu_o)); writeline(output, l); end if; end process print; @@ -73,6 +88,11 @@ begin instruction_i => instruction_i, imm_val_o => imm_ex); + -- Hacky way to make rs1_val hardwire to 0 + with instruction_i(6 downto 0) select rs1_or_zero <= + (others => '0') when "0110111", + reg_val_1_i when others; + program_counter_inst : entity work.program_counter(rtl) port map ( pc_clk_i => pc_clk, reset_i => reset_i, @@ -111,19 +131,20 @@ begin alu_b_sel_o => alu_b_sel, rd_sel_o => rd_sel, mem_write_en_o => mem_write_en_o, - rd_clk_o => rd_clk_o, + rd_clk_o => rd_clk, pc_clk_o => pc_clk, ir_clk_o => ir_clk_o, pc_alu_sel_o => pc_alu_sel, pc_next_sel_o => pc_next_sel); addr_sel_o <= addr_sel; + rd_clk_o <= rd_clk; rd_sel_o <= rd_sel; alu_o <= alu; pc_o <= pc; with alu_a_sel select alu_a_op <= - reg_val_1_i when '0', + rs1_or_zero when '0', pc when '1', (others => 'X') when others; diff --git a/rtl/core/control_fsm.vhd b/rtl/core/control_fsm.vhd index 6758420..5c0c103 100644 --- a/rtl/core/control_fsm.vhd +++ b/rtl/core/control_fsm.vhd @@ -3,6 +3,7 @@ --! @cond Doxygen_Suppress library ieee; use ieee.std_logic_1164.all; +use work.fysh_fyve.all; --! @endcond --! The Big Brain of the CPU.\n @@ -37,52 +38,79 @@ entity control_fsm is end control_fsm; architecture rtl of control_fsm is - type state_t is (decode, drive, done); + type state_t is (init, decode, drive, done); signal pc_clk : std_ulogic := '0'; signal ir_clk : std_ulogic := '0'; + signal rd_clk : std_ulogic := '0'; signal mem_write_en : std_ulogic := '0'; - signal state : state_t := decode; + signal write_mem : std_ulogic := '0'; + signal write_reg : std_ulogic := '0'; + + signal state : state_t := init; begin + alu_a_sel_o <= opcode_i(2) and not opcode_i(5); + alu_b_sel_o <= opcode_i(2) or not opcode_i(5); + addr_sel_o <= '1'; + + with opcode_i(2) select op_bits_o <= + OP_OR when '1', + op_bits_i(2 downto 0) when others; + sub_sra_o <= sub_sra_i and not opcode_i(2); drive_clock : process(clk_i, halt_i, opcode_i, pc_clk, ir_clk, mem_write_en) use std.textio.all; variable l : line; begin if falling_edge(reset_i) then - state <= decode; + state <= init; done_o <= '0'; elsif rising_edge(halt_i) then state <= done; - elsif clk_i'event then + elsif rising_edge(clk_i) then --! TODO: Decode kinda like 410 case state is + when init => + state <= decode; when decode => - alu_b_sel_o <= not opcode_i(5); -- immediate value ('1') or rs2 ('0') - -- TODO: Figure this out - alu_a_sel_o <= opcode_i(0); -- pc ('1') or rs1 ('0') - addr_sel_o <= opcode_i(0); -- alu ('1') or pc ('0') - pc_alu_sel_o <= '1'; -- 4 ('1') or immediate value ('0') - pc_next_sel_o <= opcode_i(0); -- alu ('1') or pc alu ('0') - rd_sel_o <= opcode_i(1 downto 0); -- mem_sx ("11"), alu ("01"), or pc alu ("00") - - sub_sra_o <= sub_sra_i; - op_bits_o <= op_bits_i(2 downto 0); - - -- TODO!! - rd_clk_o <= opcode_i(0); - state <= drive; + case opcode_i(2) is + when '1' => -- LUI/AUIPC (for now!) + -- TODO: Handle the case where it's not! + rd_sel_o <= "01"; + write_reg <= '1'; + pc_alu_sel_o <= '1'; + pc_next_sel_o <= '0'; + when others => -- The typical ALU stuff + rd_sel_o <= "01"; -- mem_sx ("11"), alu ("01"), or pc alu ("00") + write_reg <= '1'; + pc_alu_sel_o <= '1'; -- 4 ('1') or immediate value ('0') + pc_next_sel_o <= '0'; -- alu ('1') or pc alu ('0') + end case; + mem_write_en <= '0'; + rd_clk <= '0'; + ir_clk <= '1'; + pc_clk <= '0'; + state <= drive; when drive => - pc_clk <= not pc_clk; - ir_clk <= not ir_clk; - mem_write_en <= not mem_write_en; - state <= decode; + if (write_mem = '1') then + mem_write_en <= '1'; + write_mem <= '0'; + end if; + if (write_reg = '1') then + rd_clk <= '1'; + write_reg <= '0'; + end if; + ir_clk <= '0'; + pc_clk <= '1'; + state <= decode; when done => done_o <= '1'; end case; end if; - pc_clk_o <= pc_clk; - ir_clk_o <= ir_clk; - mem_write_en_o <= mem_write_en; end process drive_clock; + + rd_clk_o <= rd_clk; + pc_clk_o <= pc_clk; + ir_clk_o <= ir_clk; + mem_write_en_o <= mem_write_en; end rtl; diff --git a/rtl/core/memory.vhd b/rtl/core/memory.vhd index 4ad6f22..1ed2875 100644 --- a/rtl/core/memory.vhd +++ b/rtl/core/memory.vhd @@ -32,14 +32,14 @@ architecture rtl of memory is signal addr, mem_out, mem_sx : std_ulogic_vector (31 downto 0); signal reg_val_1, reg_val_2 : std_ulogic_vector (31 downto 0); begin - wtf : process(insn_o) - use std.textio.all; - variable l : line; - begin - write(l, string'("insn_o: ")); - write(l, insn_o); - writeline(output, l); - end process wtf; + -- wtf : process(insn_o) + -- use std.textio.all; + -- variable l : line; + -- begin + -- write(l, string'("insn_o: ")); + -- write(l, insn_o); + -- writeline(output, l); + -- end process wtf; mem_inst : entity work.phy_map(rtl) port map ( clk_i => clk_i, @@ -66,7 +66,8 @@ begin reg_val_2_o <= reg_val_2; reg_val_1_o <= reg_val_1; - insn_o <= insn; + + insn_o <= insn; with addr_sel_i select addr <= pc_out_i when '1', diff --git a/rtl/core/program_counter.vhd b/rtl/core/program_counter.vhd index 7812614..0e393d7 100644 --- a/rtl/core/program_counter.vhd +++ b/rtl/core/program_counter.vhd @@ -51,12 +51,12 @@ begin use std.textio.all; variable l : line; begin - write(l, string'("next_ins: ")); - write(l, to_hstring(next_ins)); - writeline(output, l); if falling_edge(reset_i) then pc <= (others => '0'); - elsif pc_clk_i'event then + elsif rising_edge(pc_clk_i) then + write(l, string'("next_ins: ")); + write(l, to_hstring(next_ins)); + writeline(output, l); pc <= next_ins; end if; end process; diff --git a/rtl/core/register_file.vhd b/rtl/core/register_file.vhd index f710498..8f5a328 100644 --- a/rtl/core/register_file.vhd +++ b/rtl/core/register_file.vhd @@ -31,11 +31,18 @@ begin registers_g : for i in 1 to 31 generate register_write : process(reset_i, rd_clk_i) + use std.textio.all; + variable l : line; begin if falling_edge(reset_i) then reg_file(i) <= (others => '0'); elsif rising_edge(rd_clk_i) then if (i = to_integer(unsigned(dest_reg_i))) then + write(l, string'("wrote value ")); + write(l, to_hstring(dest_reg_val_i)); + write(l, string'(" to register")); + write(l, i); + writeline(output, l); reg_file(i) <= dest_reg_val_i; end if; end if; diff --git a/rtl/test/alu_control_tb.vhd b/rtl/test/alu_control_tb.vhd index e58b02d..caab915 100644 --- a/rtl/test/alu_control_tb.vhd +++ b/rtl/test/alu_control_tb.vhd @@ -27,6 +27,8 @@ architecture test_bench of alu_control_tb is signal rd_sel : std_ulogic_vector (1 downto 0) := (others => '0'); signal reset : std_ulogic := '0'; signal addr_sel : std_ulogic := '0'; + + signal rs1_or_zero : std_ulogic_vector (31 downto 0); begin clock : process begin @@ -34,11 +36,12 @@ begin wait for 1 ns; end process clock; + alu_control_inst : entity work.alu_control(rtl) port map ( clk_i => clk, reset_i => reset, instruction_i => insn, - reg_val_1_i => rs1_val, + reg_val_1_i => rs1_or_zero, reg_val_2_i => rs2_val, alu_o => alu, pc_o => pc, diff --git a/rtl/test/topmodule_tb.vhd b/rtl/test/topmodule_tb.vhd index dde6326..0c0d0e1 100644 --- a/rtl/test/topmodule_tb.vhd +++ b/rtl/test/topmodule_tb.vhd @@ -31,7 +31,11 @@ begin reset <= '0'; wait for 1 ns; reset <= '1'; - wait for 10 ns; + wait for 1 ns; + reset <= '0'; + wait for 1 ns; + reset <= '1'; + wait for 30 ns; stop; end process; end test_bench;