From a84b931e350efc5383ab10efc48cd3612ea6ecc3 Mon Sep 17 00:00:00 2001 From: stnolting Date: Fri, 27 Dec 2024 15:18:22 +0100 Subject: [PATCH 1/7] [package] bus_req: add out-of-band signals --- rtl/core/neorv32_package.vhd | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/rtl/core/neorv32_package.vhd b/rtl/core/neorv32_package.vhd index af44db6f6..d2ff396b2 100644 --- a/rtl/core/neorv32_package.vhd +++ b/rtl/core/neorv32_package.vhd @@ -29,7 +29,7 @@ package neorv32_package is -- Architecture Constants ----------------------------------------------------------------- -- ------------------------------------------------------------------------------------------- - constant hw_version_c : std_ulogic_vector(31 downto 0) := x"01100801"; -- hardware version + constant hw_version_c : std_ulogic_vector(31 downto 0) := x"01100802"; -- hardware version constant archid_c : natural := 19; -- official RISC-V architecture ID constant XLEN : natural := 32; -- native data path width @@ -129,7 +129,10 @@ package neorv32_package is src : std_ulogic; -- access source (1=instruction fetch, 0=data access) priv : std_ulogic; -- set if privileged (machine-mode) access rvso : std_ulogic; -- set if reservation set operation (atomic LR/SC) - fence : std_ulogic; -- set if fence(.i) operation, single-shot (out-of-band) + -- out-of-band signals -- + fence : std_ulogic; -- set if fence(.i) request by upstream device, single-shot + sleep : std_ulogic; -- set if ALL upstream sources are in sleep mode + debug : std_ulogic; -- set if upstream device is in debug mode end record; -- bus response -- @@ -149,7 +152,9 @@ package neorv32_package is src => '0', priv => '0', rvso => '0', - fence => '0' + fence => '0', + sleep => '1', + debug => '0' ); -- endpoint (response) termination -- From 13fc3123e421faf5ad91855c545e7ab194789072 Mon Sep 17 00:00:00 2001 From: stnolting Date: Fri, 27 Dec 2024 15:23:39 +0100 Subject: [PATCH 2/7] [cpu] remove debug and sleep signals they are part of the bus interface's out-of-band signals now --- rtl/core/neorv32_cpu.vhd | 6 ------ rtl/core/neorv32_cpu_control.vhd | 4 +++- rtl/core/neorv32_cpu_lsu.vhd | 4 +++- rtl/core/neorv32_top.vhd | 8 -------- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/rtl/core/neorv32_cpu.vhd b/rtl/core/neorv32_cpu.vhd index 1c941c6bc..ee6f4903e 100644 --- a/rtl/core/neorv32_cpu.vhd +++ b/rtl/core/neorv32_cpu.vhd @@ -71,8 +71,6 @@ entity neorv32_cpu is -- global control -- clk_i : in std_ulogic; -- switchable global clock, rising edge rstn_i : in std_ulogic; -- global reset, low-active, async - sleep_o : out std_ulogic; -- cpu is in sleep mode when set - debug_o : out std_ulogic; -- cpu is in debug mode when set -- interrupts -- msi_i : in std_ulogic; -- risc-v machine software interrupt mei_i : in std_ulogic; -- risc-v machine external interrupt @@ -290,10 +288,6 @@ begin -- external CSR read-back -- xcsr_rdata_res <= xcsr_rdata_pmp or xcsr_rdata_alu; - -- CPU state -- - sleep_o <= ctrl.cpu_sleep; - debug_o <= ctrl.cpu_debug; - -- Register File -------------------------------------------------------------------------- -- ------------------------------------------------------------------------------------------- diff --git a/rtl/core/neorv32_cpu_control.vhd b/rtl/core/neorv32_cpu_control.vhd index 2706194d4..1ddfaf71d 100644 --- a/rtl/core/neorv32_cpu_control.vhd +++ b/rtl/core/neorv32_cpu_control.vhd @@ -362,7 +362,7 @@ begin ((fetch_engine.pc(1) = '0') or (not RISCV_ISA_C)) else '0'; ipb.we(1) <= '1' when (fetch_engine.state = IF_PENDING) and (fetch_engine.resp = '1') else '0'; - -- bus access type -- + -- bus access meta data -- ibus_req_o.priv <= fetch_engine.priv; -- current effective privilege level ibus_req_o.data <= (others => '0'); -- read-only ibus_req_o.ben <= (others => '0'); -- read-only @@ -370,6 +370,8 @@ begin ibus_req_o.src <= '1'; -- source = instruction fetch ibus_req_o.rvso <= '0'; -- cannot be a reservation set operation ibus_req_o.fence <= ctrl.lsu_fence; -- fence operation, valid without STB being set + ibus_req_o.sleep <= sleep_mode; -- sleep mode, valid without STB being set + ibus_req_o.debug <= debug_ctrl.run; -- debug mode, valid without STB being set -- Instruction Prefetch Buffer (FIFO) ----------------------------------------------------- diff --git a/rtl/core/neorv32_cpu_lsu.vhd b/rtl/core/neorv32_cpu_lsu.vhd index 5278f887f..f45580fc4 100644 --- a/rtl/core/neorv32_cpu_lsu.vhd +++ b/rtl/core/neorv32_cpu_lsu.vhd @@ -106,7 +106,9 @@ begin end process mem_do_reg; dbus_req_o.src <= '0'; -- 0 = data access - dbus_req_o.fence <= ctrl_i.lsu_fence; -- this is valid without STB being set + dbus_req_o.fence <= ctrl_i.lsu_fence; -- out-of-band: this is valid without STB being set + dbus_req_o.sleep <= ctrl_i.cpu_sleep; -- out-of-band: this is valid without STB being set + dbus_req_o.debug <= ctrl_i.cpu_debug; -- out-of-band: this is valid without STB being set -- Data Input: Alignment and Sign-Extension ----------------------------------------------- diff --git a/rtl/core/neorv32_top.vhd b/rtl/core/neorv32_top.vhd index 707598485..25e114831 100644 --- a/rtl/core/neorv32_top.vhd +++ b/rtl/core/neorv32_top.vhd @@ -298,9 +298,6 @@ architecture neorv32_top_rtl of neorv32_top is signal clk_gen_en : clk_gen_en_t; signal clk_gen_en2 : std_ulogic_vector(11 downto 0); - -- CPU status -- - signal cpu_debug, cpu_sleep : std_ulogic; - -- debug module interface (DMI) -- signal dmi_req : dmi_req_t; signal dmi_rsp : dmi_rsp_t; @@ -516,8 +513,6 @@ begin -- global control -- clk_i => clk_i, rstn_i => rstn_sys, - sleep_o => cpu_sleep, - debug_o => cpu_debug, -- interrupts -- msi_i => msw_irq, mei_i => mext_irq_i, @@ -1151,8 +1146,6 @@ begin rstn_sys_i => rstn_sys, bus_req_i => iodev_req(IODEV_WDT), bus_rsp_o => iodev_rsp(IODEV_WDT), - cpu_debug_i => cpu_debug, - cpu_sleep_i => cpu_sleep, clkgen_en_o => clk_gen_en(CG_WDT), clkgen_i => clk_gen, rstn_o => rstn_wdt @@ -1690,7 +1683,6 @@ begin port map ( clk_i => clk_i, rstn_i => rstn_ext, - cpu_debug_i => cpu_debug, dmi_req_i => dmi_req, dmi_rsp_o => dmi_rsp, bus_req_i => iodev_req(IODEV_OCD), From b29723c9377da7211470bd5d7c3f405790a2b0e5 Mon Sep 17 00:00:00 2001 From: stnolting Date: Fri, 27 Dec 2024 15:24:47 +0100 Subject: [PATCH 3/7] [docs] update bus interface protocol --- docs/datasheet/cpu.adoc | 26 ++++++++++++++++--------- docs/figures/bus_interface.png | Bin 54222 -> 53301 bytes docs/figures/bus_interface_atomic.png | Bin 57747 -> 58547 bytes docs/sources/bus_interface.json | 1 - docs/sources/bus_interface_atomic.json | 1 - 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/docs/datasheet/cpu.adoc b/docs/datasheet/cpu.adoc index 7ac2a386b..8e469bfe3 100644 --- a/docs/datasheet/cpu.adoc +++ b/docs/datasheet/cpu.adoc @@ -68,8 +68,6 @@ direction as seen from the CPU. 4+^| **Global Signals** | `clk_i` | 1 | in | Global clock line, all registers triggering on rising edge. | `rstn_i` | 1 | in | Global reset, low-active. -| `sleep_o` | 1 | out | CPU is in <<_sleep_mode>> when set. -| `debug_o` | 1 | out | CPU is in <<_cpu_debug_mode,debug mode>> when set. 4+^| **Interrupts (<<_traps_exceptions_and_interrupts>>)** | `msi_i` | 1 | in | RISC-V machine software interrupt. | `mei_i` | 1 | in | RISC-V machine external interrupt. @@ -342,7 +340,7 @@ The `wfi` instruction will raise an illegal instruction exception when executed if `TW` in <<_mstatus>> is set. When executed in debug-mode or during single-stepping `wfi` will behave as simple `nop` without entering sleep mode. -After executing the `wfi` instruction the CPU's `sleep_o` signal (<<_cpu_top_entity_signals>>) will become set +After executing the `wfi` instruction the `sleep` signal of the CPU's request buses (<<_bus_interface>> will become set as soon as the CPU has fully halted: [start=1] @@ -393,15 +391,22 @@ the instruction fetch interface (`i_bus_*` signals) is used for fetching instruc (`d_bus_*` signals) is used to access data via load and store operations. Each of these interfaces can access an address space of up to 2^32^ bytes (4GB). -The bus interface uses two custom interface types: `bus_req_t` is used to propagate the bus access **requests**. These -signals are driven by the _accessing_ device (i.e. the CPU core). `bus_rsp_t` is used to return the bus **response** and -is driven by the _accessed_ device or bus system (i.e. a processor-internal memory or IO device). +The bus interface uses two custom interface types: `bus_req_t` is used to propagate the bus access requests downstream +from a host to a device. These signals are driven by the request-issuing device (i.e. the CPU core). Vice versa, `bus_rsp_t` +is used to return the bus response upstream from a device back to the host and is driven by the accessed device or bus system +(i.e. a processor-internal memory or IO device). + +The signals of the request bus are split in to two categories: _in-band_ signals and _out-of-band_ signals. In-band +signals always belong to a certain bus transaction and are only valid between `stb` being set and the according response +(`err` or `ack`). being set. In contrast, the out-of-band signals are not associated with any bus transaction and are +always valid when set. .Bus Interface - Request Bus (`bus_req_t`) [cols="^1,^1,<6"] [options="header",grid="rows"] |======================= | Signal | Width | Description +3+^| **In-Band Signals** | `addr` | 32 | Access address (byte addressing) | `data` | 32 | Write data | `ben` | 4 | Byte-enable for each byte in `data` @@ -410,7 +415,10 @@ is driven by the _accessed_ device or bus system (i.e. a processor-internal memo | `src` | 1 | Access source (`0` = instruction fetch, `1` = load/store) | `priv` | 1 | Set if privileged (M-mode) access | `rvso` | 1 | Set if current access is a reservation-set operation (`lr` or `sc` instruction, <<_zalrsc_isa_extension>>) -| `fence` | 1 | Data/instruction fence operation; valid without `stb` being set +3+^| **Out-Of-Band Signals** +| `fence` | 1 | Data/instruction fence request; single-shot +| `sleep` | 1 | Set if ALL upstream devices are in <<_sleep_mode>> +| `debug` | 1 | Set if the upstream device is in debug-mode |======================= .Bus Interface - Response Bus (`bus_rsp_t`) @@ -444,7 +452,7 @@ The figure below shows three exemplary bus accesses: . A write access to address `B_addr` writing `wdata` (fastest response; `ACK` arrives right in the next cycle). . A failing read access to address `C_addr` (slow response; `ERR` arrives after several cycles). -.Three Exemplary Bus Transactions +.Three Exemplary Bus Transactions (showing only in-band signals) image::bus_interface.png[700] .Adding Register Stages @@ -478,7 +486,7 @@ and also registers a reservation for the address `addr` (`rvs_valid` becomes set invalidated (`rvs_valid` is `0`) the store access fails, so `wdata2` is **not** written to address `addr` at all. The failed operation is indicated by a **1** being returned via `rsp.data` together with `ack`. -.Three Exemplary LR/SC Bus Transactions +.Three Exemplary LR/SC Bus Transactions (showing only in-band signals) image::bus_interface_atomic.png[700] .Store-Conditional Status diff --git a/docs/figures/bus_interface.png b/docs/figures/bus_interface.png index 2f9248122bef9facf93a9cb66f0cb19034082629..4ac341cbacc35f714a9a9fa87d3662bd967ca5ab 100644 GIT binary patch literal 53301 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 Umm-Jz4y1|k_EE9HqZ(1kVXt|* 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 Vwr1|+rsE7i;OXk;vd$@?2>|HwCV>C| diff --git a/docs/figures/bus_interface_atomic.png b/docs/figures/bus_interface_atomic.png index 370be223af21537ce69235221b47b70ec0858d37..b165f618ed3d6d9025e1c834a64f2d1838267a62 100644 GIT binary patch literal 58547 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%0Du058u<)_F5|;|jtk1zh$`P1^lBZ$Gce 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 WU)YwDF`G3q@Ih)BYN9o)!~O%u-;-+q literal 57747 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 diff --git a/docs/sources/bus_interface.json b/docs/sources/bus_interface.json index d6619f8a2..e677a7994 100644 --- a/docs/sources/bus_interface.json +++ b/docs/sources/bus_interface.json @@ -10,7 +10,6 @@ {name: 'src', wave: 'x0.|.x0.x..|..'}, {name: 'priv', wave: 'x0.|.x0.x..|..'}, {name: 'rvso', wave: 'x0.|.x0.x..|..'}, - {name: 'fence', wave: '0....|.....|..'}, ], {}, [ diff --git a/docs/sources/bus_interface_atomic.json b/docs/sources/bus_interface_atomic.json index 2e91f90d3..6704900d6 100644 --- a/docs/sources/bus_interface_atomic.json +++ b/docs/sources/bus_interface_atomic.json @@ -10,7 +10,6 @@ {name: 'src', wave: '0....|.....|.....'}, {name: 'priv', wave: '0....|.....|.....'}, {name: 'rvso', wave: '01..0|.1..0|.1..0', node: '.b.......e....'}, - {name: 'fence', wave: '0....|.....|.....'}, ], {}, [ From 06ba827431bd74deb6a8c169dde6e92e3344ee78 Mon Sep 17 00:00:00 2001 From: stnolting Date: Fri, 27 Dec 2024 15:28:33 +0100 Subject: [PATCH 4/7] [rtl] add out-of-band signals --- rtl/core/neorv32_bus.vhd | 38 ++++++++++++++++++----------------- rtl/core/neorv32_cache.vhd | 24 +++++++++++++--------- rtl/core/neorv32_debug_dm.vhd | 4 ++-- rtl/core/neorv32_dma.vhd | 2 ++ rtl/core/neorv32_wdt.vhd | 6 ++---- 5 files changed, 41 insertions(+), 33 deletions(-) diff --git a/rtl/core/neorv32_bus.vhd b/rtl/core/neorv32_bus.vhd index 7c681cd68..142ec1a98 100644 --- a/rtl/core/neorv32_bus.vhd +++ b/rtl/core/neorv32_bus.vhd @@ -19,8 +19,8 @@ use neorv32.neorv32_package.all; entity neorv32_bus_switch is generic ( - PORT_A_READ_ONLY : boolean; -- set if port A is read-only - PORT_B_READ_ONLY : boolean -- set if port B is read-only + PORT_A_READ_ONLY : boolean := false; -- set if port A is read-only + PORT_B_READ_ONLY : boolean := false -- set if port B is read-only ); port ( clk_i : in std_ulogic; -- global clock, rising edge @@ -110,20 +110,22 @@ begin -- Request Switch ------------------------------------------------------------------------- -- ------------------------------------------------------------------------------------------- - x_req_o.addr <= a_req_i.addr when (arbiter.sel = '0') else b_req_i.addr; - x_req_o.rvso <= a_req_i.rvso when (arbiter.sel = '0') else b_req_i.rvso; - x_req_o.priv <= a_req_i.priv when (arbiter.sel = '0') else b_req_i.priv; - x_req_o.src <= a_req_i.src when (arbiter.sel = '0') else b_req_i.src; - x_req_o.rw <= a_req_i.rw when (arbiter.sel = '0') else b_req_i.rw; - x_req_o.fence <= a_req_i.fence or b_req_i.fence; -- propagate any fence operations - - x_req_o.data <= b_req_i.data when PORT_A_READ_ONLY else - a_req_i.data when PORT_B_READ_ONLY else - a_req_i.data when (arbiter.sel = '0') else b_req_i.data; - - x_req_o.ben <= b_req_i.ben when PORT_A_READ_ONLY else - a_req_i.ben when PORT_B_READ_ONLY else - a_req_i.ben when (arbiter.sel = '0') else b_req_i.ben; + x_req_o.addr <= a_req_i.addr when (arbiter.sel = '0') else b_req_i.addr; + x_req_o.rvso <= a_req_i.rvso when (arbiter.sel = '0') else b_req_i.rvso; + x_req_o.priv <= a_req_i.priv when (arbiter.sel = '0') else b_req_i.priv; + x_req_o.src <= a_req_i.src when (arbiter.sel = '0') else b_req_i.src; + x_req_o.rw <= a_req_i.rw when (arbiter.sel = '0') else b_req_i.rw; + x_req_o.fence <= a_req_i.fence or b_req_i.fence; -- propagate any fence operations + x_req_o.sleep <= a_req_i.sleep and b_req_i.sleep; -- set if ALL upstream devices are in sleep mode + x_req_o.debug <= a_req_i.debug when (arbiter.sel = '0') else b_req_i.debug; + + x_req_o.data <= b_req_i.data when PORT_A_READ_ONLY else + a_req_i.data when PORT_B_READ_ONLY else + a_req_i.data when (arbiter.sel = '0') else b_req_i.data; + + x_req_o.ben <= b_req_i.ben when PORT_A_READ_ONLY else + a_req_i.ben when PORT_B_READ_ONLY else + a_req_i.ben when (arbiter.sel = '0') else b_req_i.ben; x_req_o.stb <= arbiter.stb; @@ -703,10 +705,10 @@ entity neorv32_bus_reservation_set is rvs_addr_o : out std_ulogic_vector(31 downto 0); rvs_valid_o : out std_ulogic; rvs_clear_i : in std_ulogic; - -- core/cpu port -- + -- core port -- core_req_i : in bus_req_t; core_rsp_o : out bus_rsp_t; - -- system ports -- + -- system port -- sys_req_o : out bus_req_t; sys_rsp_i : in bus_rsp_t ); diff --git a/rtl/core/neorv32_cache.vhd b/rtl/core/neorv32_cache.vhd index 86164e6b4..2ba83dc3d 100644 --- a/rtl/core/neorv32_cache.vhd +++ b/rtl/core/neorv32_cache.vhd @@ -183,7 +183,7 @@ begin -- request splitter: cached or direct access -- req_splitter: process(host_req_i, dir_acc_d) begin - -- default: pass-through of all bus signals -- + -- default: pass-through all bus signals -- cache_req <= host_req_i; dir_req_d <= host_req_i; -- direct access -- @@ -826,7 +826,7 @@ begin -- Control Engine FSM Comb ---------------------------------------------------------------- -- ------------------------------------------------------------------------------------------- - ctrl_engine_comb: process(state, upret, addr, haddr, baddr, bus_rsp_i, cmd_sync_i, cmd_miss_i, rdata_i, dirty_i) + ctrl_engine_comb: process(state, upret, addr, haddr, baddr, host_req_i, bus_rsp_i, cmd_sync_i, cmd_miss_i, rdata_i, dirty_i) begin -- control engine defaults -- state_nxt <= state; @@ -845,13 +845,19 @@ begin new_o <= '0'; -- bus interface defaults -- - bus_req_o <= req_terminate_c; -- all-zero - bus_req_o.addr <= addr.tag & addr.idx & addr.ofs & "00"; -- always word-aligned - bus_req_o.data <= rdata_i; - bus_req_o.ben <= (others => '1'); -- full-word writes only - bus_req_o.src <= '0'; -- cache accesses are always "data" accesses - bus_req_o.priv <= '0'; -- cache accesses are always "unprivileged" accesses - bus_req_o.rvso <= '0'; -- cache accesses can never be a reservation set operation + bus_req_o <= req_terminate_c; -- all-zero + bus_req_o.addr <= addr.tag & addr.idx & addr.ofs & "00"; -- always word-aligned + bus_req_o.data <= rdata_i; + bus_req_o.ben <= (others => '1'); -- full-word writes only + bus_req_o.src <= '0'; -- cache accesses are always data accesses + bus_req_o.priv <= '0'; -- cache accesses are always "unprivileged" accesses + bus_req_o.rvso <= '0'; -- cache accesses can never be a reservation set operation + bus_req_o.debug <= host_req_i.debug; + if (state = S_IDLE) then + bus_req_o.sleep <= host_req_i.sleep; + else + bus_req_o.sleep <= '0'; + end if; -- fsm -- case state is diff --git a/rtl/core/neorv32_debug_dm.vhd b/rtl/core/neorv32_debug_dm.vhd index 12278292c..af2d70b84 100644 --- a/rtl/core/neorv32_debug_dm.vhd +++ b/rtl/core/neorv32_debug_dm.vhd @@ -25,7 +25,6 @@ entity neorv32_debug_dm is -- global control -- clk_i : in std_ulogic; -- global clock line rstn_i : in std_ulogic; -- global reset line, low-active - cpu_debug_i : in std_ulogic; -- CPU is in debug mode -- debug module interface (DMI) -- dmi_req_i : in dmi_req_t; -- request dmi_rsp_o : out dmi_rsp_t; -- response @@ -69,6 +68,7 @@ architecture neorv32_debug_dm_rtl of neorv32_debug_dm is constant addr_progbuf1_c : std_ulogic_vector(6 downto 0) := "0100001"; constant addr_authdata_c : std_ulogic_vector(6 downto 0) := "0110000"; --constant addr_sbcs_c : std_ulogic_vector(6 downto 0) := "0111000"; -- hardwired to zero + constant addr_haltsum0_c : std_ulogic_vector(6 downto 0) := "1000000"; -- DMI access -- signal dmi_wren, dmi_wren_auth, dmi_rden, dmi_rden_auth : std_ulogic; @@ -666,7 +666,7 @@ begin end process bus_access; -- access helpers -- - accen <= cpu_debug_i and bus_req_i.stb; -- allow access only when in debug-mode + accen <= bus_req_i.debug and bus_req_i.stb; -- allow access only when in debug-mode rden <= accen and (not bus_req_i.rw); wren <= accen and ( bus_req_i.rw); diff --git a/rtl/core/neorv32_dma.vhd b/rtl/core/neorv32_dma.vhd index afc569d57..f362059aa 100644 --- a/rtl/core/neorv32_dma.vhd +++ b/rtl/core/neorv32_dma.vhd @@ -310,6 +310,8 @@ begin dma_req_o.addr <= engine.src_addr when (engine.state = S_READ) else engine.dst_addr; dma_req_o.rvso <= '0'; -- no reservation set operation possible dma_req_o.fence <= cfg.enable and cfg.fence and engine.done; -- issue FENCE operation when transfer is done + dma_req_o.sleep <= '1' when (engine.state = S_IDLE) else '0'; -- idle = sleep mode + dma_req_o.debug <= '0'; -- can never ever be in debug mode -- address increment -- address_inc: process(cfg.qsel) diff --git a/rtl/core/neorv32_wdt.vhd b/rtl/core/neorv32_wdt.vhd index 794c4cd27..b4827bc66 100644 --- a/rtl/core/neorv32_wdt.vhd +++ b/rtl/core/neorv32_wdt.vhd @@ -23,8 +23,6 @@ entity neorv32_wdt is rstn_sys_i : in std_ulogic; -- system reset, low-active bus_req_i : in bus_req_t; -- bus request bus_rsp_o : out bus_rsp_t; -- bus response - cpu_debug_i : in std_ulogic; -- CPU is in debug mode - cpu_sleep_i : in std_ulogic; -- CPU is in sleep mode clkgen_en_o : out std_ulogic; -- enable clock generator clkgen_i : in std_ulogic_vector(7 downto 0); rstn_o : out std_ulogic -- timeout reset, low_active, sync @@ -155,8 +153,8 @@ begin -- valid counter increment? -- cnt_inc <= '1' when ((prsc_tick = '1') and (cnt_started = '1')) and -- clock tick and started - ((cpu_debug_i = '0') or (ctrl.dben = '1')) and -- not in debug mode or allowed to run in debug mode - ((cpu_sleep_i = '0') or (ctrl.sen = '1')) else '0'; -- not in sleep mode or allowed to run in sleep mode + ((bus_req_i.debug = '0') or (ctrl.dben = '1')) and -- not in debug mode or allowed to run in debug mode + ((bus_req_i.sleep = '0') or (ctrl.sen = '1')) else '0'; -- not in sleep mode or allowed to run in sleep mode -- timeout detector -- cnt_timeout <= '1' when (cnt_started = '1') and (cnt = ctrl.timeout) else '0'; From 6ff051327eba12f75a7232560d8e4ad12a00db1e Mon Sep 17 00:00:00 2001 From: stnolting Date: Fri, 27 Dec 2024 15:31:58 +0100 Subject: [PATCH 5/7] [changelog] add v1.10.8.2 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49c382741..844f8473b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ mimpid = 0x01040312 -> Version 01.04.03.12 -> v1.4.3.12 | Date | Version | Comment | Ticket | |:----:|:-------:|:--------|:------:| +| 27.12.2024 | 1.10.8.2 | add out-of-band signals to internal request bus | [#1131](https://github.com/stnolting/neorv32/pull/1131) | | 27.12.2024 | 1.10.8.1 | :warning: replace MTIME by CLINT; :warning: remove `HART_ID` generic | [#1130](https://github.com/stnolting/neorv32/pull/1130) | | 26.12.2024 | [**:rocket:1.10.8**](https://github.com/stnolting/neorv32/releases/tag/v1.10.8) | **New release** | | | 23.12.2024 | 1.10.7.9 | :warning: rework IO/peripheral address space; :sparkles: increase device size from 256 bytes to 64kB | [#1126](https://github.com/stnolting/neorv32/pull/1126) | From 61dd602258e2797accdb692e6ef93e4e130d9321 Mon Sep 17 00:00:00 2001 From: stnolting Date: Fri, 27 Dec 2024 19:33:11 +0100 Subject: [PATCH 6/7] [bus infrastructure] update bus switch add round-robin option (not used yet) --- rtl/core/neorv32_bus.vhd | 200 ++++++++++++++++++++++++++------------- 1 file changed, 132 insertions(+), 68 deletions(-) diff --git a/rtl/core/neorv32_bus.vhd b/rtl/core/neorv32_bus.vhd index 142ec1a98..bf03d9224 100644 --- a/rtl/core/neorv32_bus.vhd +++ b/rtl/core/neorv32_bus.vhd @@ -19,6 +19,7 @@ use neorv32.neorv32_package.all; entity neorv32_bus_switch is generic ( + ROUND_ROBIN_EN : boolean := false; -- enable round-robing scheduling PORT_A_READ_ONLY : boolean := false; -- set if port A is read-only PORT_B_READ_ONLY : boolean := false -- set if port B is read-only ); @@ -26,7 +27,7 @@ entity neorv32_bus_switch is clk_i : in std_ulogic; -- global clock, rising edge rstn_i : in std_ulogic; -- global reset, low-active, async a_lock_i : in std_ulogic; -- exclusive access for port A while set - a_req_i : in bus_req_t; -- host port A request bus (PRIORITIZED) + a_req_i : in bus_req_t; -- host port A request bus a_rsp_o : out bus_rsp_t; -- host port A response bus b_req_i : in bus_req_t; -- host port B request bus b_rsp_o : out bus_rsp_t; -- host port B response bus @@ -38,17 +39,10 @@ end neorv32_bus_switch; architecture neorv32_bus_switch_rtl of neorv32_bus_switch is -- access arbiter -- - type arbiter_t is record - state, state_nxt : std_ulogic_vector(1 downto 0); - a_req, b_req : std_ulogic; - sel, stb : std_ulogic; - end record; - signal arbiter : arbiter_t; - - -- FSM states -- - constant IDLE : std_ulogic_vector(1 downto 0) := "00"; - constant BUSY_A : std_ulogic_vector(1 downto 0) := "01"; - constant BUSY_B : std_ulogic_vector(1 downto 0) := "10"; + type state_t is (S_CHECK_A, S_BUSY_A, S_CHECK_B, S_BUSY_B); + signal state, state_nxt : state_t; + signal a_req, b_req : std_ulogic; + signal sel, stb : std_ulogic; begin @@ -57,88 +51,158 @@ begin arbiter_sync: process(rstn_i, clk_i) begin if (rstn_i = '0') then - arbiter.state <= IDLE; - arbiter.a_req <= '0'; - arbiter.b_req <= '0'; + state <= S_CHECK_A; + a_req <= '0'; + b_req <= '0'; elsif rising_edge(clk_i) then - arbiter.state <= arbiter.state_nxt; - arbiter.a_req <= (arbiter.a_req or a_req_i.stb) and (not arbiter.state(0)); -- clear STB buffer in BUSY_A - arbiter.b_req <= (arbiter.b_req or b_req_i.stb) and (not arbiter.state(1)); -- clear STB buffer in BUSY_B + state <= state_nxt; + if (state = S_BUSY_A) then -- clear request + a_req <= '0'; + else -- buffer request + a_req <= a_req or a_req_i.stb; + end if; + if (state = S_BUSY_B) then -- clear request + b_req <= '0'; + else -- buffer request + b_req <= b_req or b_req_i.stb; + end if; end if; end process arbiter_sync; - -- fsm -- - arbiter_comb: process(arbiter, a_lock_i, a_req_i, b_req_i, x_rsp_i) - begin - -- defaults -- - arbiter.state_nxt <= arbiter.state; - arbiter.sel <= '0'; - arbiter.stb <= '0'; - - -- state machine -- - case arbiter.state is - - when BUSY_A => -- port A access in progress - -- ------------------------------------------------------------ - arbiter.sel <= '0'; - if (x_rsp_i.err = '1') or (x_rsp_i.ack = '1') then - arbiter.state_nxt <= IDLE; - end if; - when BUSY_B => -- port B access in progress - -- ------------------------------------------------------------ - arbiter.sel <= '1'; - if (x_rsp_i.err = '1') or (x_rsp_i.ack = '1') then - arbiter.state_nxt <= IDLE; - end if; + -- Prioritizing Bus Switch ---------------------------------------------------------------- + -- ------------------------------------------------------------------------------------------- + arbiter_prioritized: + if not ROUND_ROBIN_EN generate + arbiter_fsm: process(state, a_req, b_req, a_lock_i, a_req_i, b_req_i, x_rsp_i) + begin + -- defaults -- + state_nxt <= state; + sel <= '0'; + stb <= '0'; + + -- state machine -- + case state is + + when S_BUSY_A => -- port A access in progress + -- ------------------------------------------------------------ + sel <= '0'; + if (x_rsp_i.err = '1') or (x_rsp_i.ack = '1') then + state_nxt <= S_CHECK_A; + end if; - when others => -- IDLE: wait for requests - -- ------------------------------------------------------------ - if (a_req_i.stb = '1') or (arbiter.a_req = '1') then -- request from port A (prioritized)? - arbiter.sel <= '0'; - arbiter.stb <= '1'; - arbiter.state_nxt <= BUSY_A; - elsif ((b_req_i.stb = '1') or (arbiter.b_req = '1')) and (a_lock_i = '0') then -- request from port B? - arbiter.sel <= '1'; - arbiter.stb <= '1'; - arbiter.state_nxt <= BUSY_B; - end if; + when S_BUSY_B => -- port B access in progress + -- ------------------------------------------------------------ + sel <= '1'; + if (x_rsp_i.err = '1') or (x_rsp_i.ack = '1') then + state_nxt <= S_CHECK_A; + end if; - end case; - end process arbiter_comb; + when others => -- wait for requests + -- ------------------------------------------------------------ + if (a_req_i.stb = '1') or (a_req = '1') then -- request from port A (prioritized)? + sel <= '0'; + stb <= '1'; + state_nxt <= S_BUSY_A; + elsif ((b_req_i.stb = '1') or (b_req = '1')) and (a_lock_i = '0') then -- request from port B? + sel <= '1'; + stb <= '1'; + state_nxt <= S_BUSY_B; + end if; + + end case; + end process arbiter_fsm; + end generate; + + + -- Round-Robin Arbiter -------------------------------------------------------------------- + -- ------------------------------------------------------------------------------------------- + arbiter_round_robin: + if ROUND_ROBIN_EN generate + arbiter_fsm: process(state, a_req, b_req, a_req_i, b_req_i, x_rsp_i) + begin + -- defaults -- + state_nxt <= state; + sel <= '0'; + stb <= '0'; + + -- state machine -- + case state is + + when S_CHECK_A => -- check if access from port A + -- ------------------------------------------------------------ + sel <= '0'; + if (a_req_i.stb = '1') or (a_req = '1') then + stb <= '1'; + state_nxt <= S_BUSY_A; + else + state_nxt <= S_CHECK_B; + end if; + + when S_BUSY_A => -- port B access in progress + -- ------------------------------------------------------------ + sel <= '0'; + if (x_rsp_i.err = '1') or (x_rsp_i.ack = '1') then + state_nxt <= S_CHECK_B; + end if; + + when S_CHECK_B => -- check if access from port B + -- ------------------------------------------------------------ + sel <= '1'; + if (b_req_i.stb = '1') or (b_req = '1') then + stb <= '1'; + state_nxt <= S_BUSY_B; + else + state_nxt <= S_CHECK_A; + end if; + + when S_BUSY_B => -- port B access in progress + -- ------------------------------------------------------------ + sel <= '1'; + if (x_rsp_i.err = '1') or (x_rsp_i.ack = '1') then + state_nxt <= S_CHECK_A; + end if; + + when others => -- undefined + -- ------------------------------------------------------------ + state_nxt <= S_CHECK_A; + + end case; + end process arbiter_fsm; + end generate; -- Request Switch ------------------------------------------------------------------------- -- ------------------------------------------------------------------------------------------- - x_req_o.addr <= a_req_i.addr when (arbiter.sel = '0') else b_req_i.addr; - x_req_o.rvso <= a_req_i.rvso when (arbiter.sel = '0') else b_req_i.rvso; - x_req_o.priv <= a_req_i.priv when (arbiter.sel = '0') else b_req_i.priv; - x_req_o.src <= a_req_i.src when (arbiter.sel = '0') else b_req_i.src; - x_req_o.rw <= a_req_i.rw when (arbiter.sel = '0') else b_req_i.rw; - x_req_o.fence <= a_req_i.fence or b_req_i.fence; -- propagate any fence operations + x_req_o.addr <= a_req_i.addr when (sel = '0') else b_req_i.addr; + x_req_o.rvso <= a_req_i.rvso when (sel = '0') else b_req_i.rvso; + x_req_o.priv <= a_req_i.priv when (sel = '0') else b_req_i.priv; + x_req_o.src <= a_req_i.src when (sel = '0') else b_req_i.src; + x_req_o.rw <= a_req_i.rw when (sel = '0') else b_req_i.rw; + x_req_o.fence <= a_req_i.fence or b_req_i.fence; -- propagate any fence request x_req_o.sleep <= a_req_i.sleep and b_req_i.sleep; -- set if ALL upstream devices are in sleep mode - x_req_o.debug <= a_req_i.debug when (arbiter.sel = '0') else b_req_i.debug; + x_req_o.debug <= a_req_i.debug when (sel = '0') else b_req_i.debug; x_req_o.data <= b_req_i.data when PORT_A_READ_ONLY else a_req_i.data when PORT_B_READ_ONLY else - a_req_i.data when (arbiter.sel = '0') else b_req_i.data; + a_req_i.data when (sel = '0') else b_req_i.data; x_req_o.ben <= b_req_i.ben when PORT_A_READ_ONLY else a_req_i.ben when PORT_B_READ_ONLY else - a_req_i.ben when (arbiter.sel = '0') else b_req_i.ben; + a_req_i.ben when (sel = '0') else b_req_i.ben; - x_req_o.stb <= arbiter.stb; + x_req_o.stb <= stb; -- Response Switch ------------------------------------------------------------------------ -- ------------------------------------------------------------------------------------------- a_rsp_o.data <= x_rsp_i.data; - a_rsp_o.ack <= x_rsp_i.ack when (arbiter.sel = '0') else '0'; - a_rsp_o.err <= x_rsp_i.err when (arbiter.sel = '0') else '0'; + a_rsp_o.ack <= x_rsp_i.ack when (sel = '0') else '0'; + a_rsp_o.err <= x_rsp_i.err when (sel = '0') else '0'; b_rsp_o.data <= x_rsp_i.data; - b_rsp_o.ack <= x_rsp_i.ack when (arbiter.sel = '1') else '0'; - b_rsp_o.err <= x_rsp_i.err when (arbiter.sel = '1') else '0'; + b_rsp_o.ack <= x_rsp_i.ack when (sel = '1') else '0'; + b_rsp_o.err <= x_rsp_i.err when (sel = '1') else '0'; end neorv32_bus_switch_rtl; From eb89d7e6c19d18faf2b89bf5cb96dd4e4164a5ea Mon Sep 17 00:00:00 2001 From: stnolting Date: Fri, 27 Dec 2024 19:33:20 +0100 Subject: [PATCH 7/7] [rtl] cleanups --- rtl/core/neorv32_sysinfo.vhd | 2 +- rtl/core/neorv32_top.vhd | 50 +++++++++++++++++++----------------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/rtl/core/neorv32_sysinfo.vhd b/rtl/core/neorv32_sysinfo.vhd index 72f97fb73..65f5003b0 100644 --- a/rtl/core/neorv32_sysinfo.vhd +++ b/rtl/core/neorv32_sysinfo.vhd @@ -103,7 +103,7 @@ begin end if; end process sysinfo_0_write; - -- SYSINFO(1): Internal Memory Configuration (sizes) + -- SYSINFO(1): Misc -- sysinfo(1)(7 downto 0) <= std_ulogic_vector(to_unsigned(index_size_f(MEM_INT_IMEM_SIZE), 8)); -- log2(IMEM size) sysinfo(1)(15 downto 8) <= std_ulogic_vector(to_unsigned(index_size_f(MEM_INT_DMEM_SIZE), 8)); -- log2(DMEM size) sysinfo(1)(23 downto 16) <= (others => '0'); -- reserved diff --git a/rtl/core/neorv32_top.vhd b/rtl/core/neorv32_top.vhd index 25e114831..f26ed825a 100644 --- a/rtl/core/neorv32_top.vhd +++ b/rtl/core/neorv32_top.vhd @@ -456,6 +456,26 @@ begin -- ************************************************************************************************************************** -- Core Complex -- ************************************************************************************************************************** + + -- fast interrupt requests (FIRQs) -- + cpu_firq(0) <= firq(FIRQ_TWD); + cpu_firq(1) <= firq(FIRQ_CFS); + cpu_firq(2) <= firq(FIRQ_UART0_RX); + cpu_firq(3) <= firq(FIRQ_UART0_TX); + cpu_firq(4) <= firq(FIRQ_UART1_RX); + cpu_firq(5) <= firq(FIRQ_UART1_TX); + cpu_firq(6) <= firq(FIRQ_SPI); + cpu_firq(7) <= firq(FIRQ_TWI); + cpu_firq(8) <= firq(FIRQ_XIRQ); + cpu_firq(9) <= firq(FIRQ_NEOLED); + cpu_firq(10) <= firq(FIRQ_DMA); + cpu_firq(11) <= firq(FIRQ_SDI); + cpu_firq(12) <= firq(FIRQ_GPTMR); + cpu_firq(13) <= firq(FIRQ_ONEWIRE); + cpu_firq(14) <= firq(FIRQ_SLINK_RX); + cpu_firq(15) <= firq(FIRQ_SLINK_TX); + + -- CPU core + optional L1 caches -- core_complex: if true generate @@ -527,26 +547,8 @@ begin dbus_rsp_i => cpu_d_rsp ); - -- fast interrupt requests (FIRQs) -- - cpu_firq(0) <= firq(FIRQ_TWD); - cpu_firq(1) <= firq(FIRQ_CFS); - cpu_firq(2) <= firq(FIRQ_UART0_RX); - cpu_firq(3) <= firq(FIRQ_UART0_TX); - cpu_firq(4) <= firq(FIRQ_UART1_RX); - cpu_firq(5) <= firq(FIRQ_UART1_TX); - cpu_firq(6) <= firq(FIRQ_SPI); - cpu_firq(7) <= firq(FIRQ_TWI); - cpu_firq(8) <= firq(FIRQ_XIRQ); - cpu_firq(9) <= firq(FIRQ_NEOLED); - cpu_firq(10) <= firq(FIRQ_DMA); - cpu_firq(11) <= firq(FIRQ_SDI); - cpu_firq(12) <= firq(FIRQ_GPTMR); - cpu_firq(13) <= firq(FIRQ_ONEWIRE); - cpu_firq(14) <= firq(FIRQ_SLINK_RX); - cpu_firq(15) <= firq(FIRQ_SLINK_TX); - - - -- CPU Instruction Cache (I-Cache) -------------------------------------------------------- + + -- CPU L1 Instruction Cache (I-Cache) ----------------------------------------------------- -- ------------------------------------------------------------------------------------------- neorv32_icache_inst_true: if ICACHE_EN generate @@ -575,7 +577,7 @@ begin end generate; - -- CPU Data Cache (D-Cache) --------------------------------------------------------------- + -- CPU L1 Data Cache (D-Cache) ------------------------------------------------------------ -- ------------------------------------------------------------------------------------------- neorv32_dcache_inst_true: if DCACHE_EN generate @@ -608,13 +610,14 @@ begin -- ------------------------------------------------------------------------------------------- neorv32_core_bus_switch_inst: entity neorv32.neorv32_bus_switch generic map ( + ROUND_ROBIN_EN => false, -- use prioritizing arbitration PORT_A_READ_ONLY => false, PORT_B_READ_ONLY => true -- i-fetch is read-only ) port map ( clk_i => clk_i, rstn_i => rstn_sys, - a_lock_i => '0', -- no exclusive accesses for port A + a_lock_i => '0', -- no exclusive accesses a_req_i => dcache_req, -- prioritized a_rsp_o => dcache_rsp, b_req_i => icache_req, @@ -651,13 +654,14 @@ begin -- ------------------------------------------------------------------------------------------- neorv32_dma_bus_switch_inst: entity neorv32.neorv32_bus_switch generic map ( + ROUND_ROBIN_EN => false, -- use prioritizing arbitration PORT_A_READ_ONLY => false, PORT_B_READ_ONLY => false ) port map ( clk_i => clk_i, rstn_i => rstn_sys, - a_lock_i => '0', -- no exclusive accesses for port A + a_lock_i => '0', -- no exclusive accesses a_req_i => core_req, -- prioritized a_rsp_o => core_rsp, b_req_i => dma_req,