From 74f073b8c7e870f909f869ca34d5450db30938b9 Mon Sep 17 00:00:00 2001 From: Paul Scheffler Date: Fri, 23 Feb 2024 21:49:26 +0100 Subject: [PATCH] hw: Add `RegAdaptMemCut` inside `axi_to_reg_v2` --- docs/um/arch.md | 1 + hw/cheshire_pkg.sv | 2 ++ hw/cheshire_soc.sv | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/um/arch.md b/docs/um/arch.md index d56f4bff..41413ce2 100644 --- a/docs/um/arch.md +++ b/docs/um/arch.md @@ -151,6 +151,7 @@ The internal interconnect exposes the following parameters: | `RegMax(Read|Write)Txns` | `dw_bt` | Max. inflight transactions at Regbus AMO filter | | `RegAmoNumCuts` | `aw_bt` | Number of timing cuts inside Regbus AMO filter | | `RegAmoPostCut` | `bit` | Whether to insert a cut after Regbus AMO filter | +| `RegAdaptMemCut` | `bit` | Whether to insert a cut inside AXI-to-Rb. adapter | | `(Axi|Reg)ExtNum(Mst|Slv)` | `0..15` | AXI4 and Regbus number of external Mgrs. or Subs. | | `(Axi|Reg)ExtNumRules` | `0..15` | AXI4 and Regbus number of external address rules | | `(Axi|Reg)ExtRegion*` | `doub_bt` | AXI4 and Regbus external address regions | diff --git a/hw/cheshire_pkg.sv b/hw/cheshire_pkg.sv index bf052dba..f4c71caf 100644 --- a/hw/cheshire_pkg.sv +++ b/hw/cheshire_pkg.sv @@ -105,6 +105,7 @@ package cheshire_pkg; dw_bt RegMaxWriteTxns; aw_bt RegAmoNumCuts; bit RegAmoPostCut; + bit RegAdaptMemCut; // External AXI ports (limited number of ports and rules) bit [MaxExtAxiMstWidth-1:0] AxiExtNumMst; bit [MaxExtAxiSlvWidth-1:0] AxiExtNumSlv; @@ -535,6 +536,7 @@ package cheshire_pkg; RegMaxWriteTxns : 8, RegAmoNumCuts : 1, RegAmoPostCut : 1, + RegAdaptMemCut : 1, // RTC RtcFreq : 32768, // Features diff --git a/hw/cheshire_soc.sv b/hw/cheshire_soc.sv index 807d524d..25502220 100644 --- a/hw/cheshire_soc.sv +++ b/hw/cheshire_soc.sv @@ -361,7 +361,8 @@ module cheshire_soc import cheshire_pkg::*; #( .AxiDataWidth ( Cfg.AxiDataWidth ), .AxiIdWidth ( AxiSlvIdWidth ), .AxiUserWidth ( Cfg.AxiUserWidth ), - .RegDataWidth ( 32'd32 ), + .RegDataWidth ( 32 ), + .CutMemReqs ( Cfg.RegAdaptMemCut ), .axi_req_t ( axi_slv_req_t ), .axi_rsp_t ( axi_slv_rsp_t ), .reg_req_t ( reg_req_t ),