Skip to content

Commit 4bee50b

Browse files
committed
[Bump hw dep] Remove soc910_pkg, update pulp-c910 dep, switch its source to github.
1 parent 6cccb58 commit 4bee50b

File tree

5 files changed

+33
-28
lines changed

5 files changed

+33
-28
lines changed

Bender.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ packages:
152152
- register_interface
153153
- tech_cells_generic
154154
pulp_c910:
155-
revision: 695b59aec93bfac9765db20528bdd0b47aa55650
155+
revision: 6341db3bd41d372a471d16631b478d86a44eda75
156156
version: null
157157
source:
158-
Git: [email protected]:nwistoff/pulp_c910.git
158+
Git: https://github.com/pulp-platform/pulp-c910.git
159159
dependencies:
160160
- ace
161161
- apb

Bender.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dependencies:
3030
riscv-dbg: { git: "https://github.com/pulp-platform/riscv-dbg.git", rev: f69f6342 } # zx/cheshire_c910
3131
serial_link: { git: "https://github.com/pulp-platform/serial_link.git", version: 1.1.0 }
3232
unbent: { git: "https://github.com/pulp-platform/unbent.git", version: 0.1.5 }
33-
pulp_c910: { git: "[email protected]:nwistoff/pulp_c910.git", rev: 695b59ae } # dev_zx_cheshire_c910
33+
pulp_c910: { git: "https://github.com/pulp-platform/pulp-c910.git", rev: 6341db3b } # dev_zx_cheshire_c910
3434

3535
export_include_dirs:
3636
- hw/include

hw/cheshire_pkg.sv

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -628,13 +628,16 @@ package cheshire_pkg;
628628

629629
`ifdef TARGET_C910
630630
// C910 config
631+
localparam int unsigned C910AxiDataWidth = 128; // for C910 core axi, the data path is 128bit
631632
function automatic cheshire_cfg_t gen_cheshire_c910_cfg();
632633
cheshire_cfg_t ret = DefaultCfg;
633634
ret.Core = C910;
634-
ret.AddrWidth = soc910_pkg::AxiAddrWidth;
635-
ret.AxiMaxMstTrans = soc910_pkg::AxiMaxMstTrans;
636-
ret.AxiMstIdWidth = soc910_pkg::AxiIdWidthMaster;
637-
ret.AxiUserWidth = soc910_pkg::AxiUserWidth;
635+
ret.AddrWidth = 40;
636+
ret.AxiDataWidth = 64; // for SoC, the data path remain 64bit
637+
// 8n(Non-cacheable/Device) + 28(cacheable) read + 8n(Non-cacheable/Device) + 32(cacheable) write
638+
ret.AxiMaxMstTrans = 76;
639+
ret.AxiMstIdWidth = 8;
640+
ret.AxiUserWidth = 2;
638641
return ret;
639642
endfunction
640643
`endif

hw/cheshire_soc.sv

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -577,11 +577,11 @@ module cheshire_soc import cheshire_pkg::*; #(
577577
axi_user_t)
578578
// 128-bit axi master
579579
`CHESHIRE_TYPEDEF_AXI_CT( axi_c910,
580-
addr_t,
581-
logic[soc910_pkg::AxiIdWidthMaster-1:0],
582-
logic[soc910_pkg::AxiDataWidth-1:0],
583-
logic[soc910_pkg::AxiDataWidth/8-1:0],
584-
logic[soc910_pkg::AxiUserWidth-1:0]
580+
addr_t,
581+
logic[Cfg.AxiMstIdWidth-1:0],
582+
logic[C910AxiDataWidth-1:0],
583+
logic[C910AxiDataWidth/8-1:0],
584+
logic[Cfg.AxiUserWidth-1:0]
585585
)
586586
`endif
587587

@@ -670,12 +670,12 @@ module cheshire_soc import cheshire_pkg::*; #(
670670
c910_axi_wrap #(
671671
.AxiSetModifiable ( 1'b1 ),
672672
.AxiUnwrapBursts ( 1'b1 ),
673-
.AddrWidth ( soc910_pkg::AxiAddrWidth ),
674-
.DataWidth ( soc910_pkg::AxiDataWidth ),
675-
.IdWidth ( soc910_pkg::AxiIdWidthMaster),
676-
.UserWidth ( soc910_pkg::AxiUserWidth ),
677-
.axi_req_t ( axi_c910_req_t ),
678-
.axi_rsp_t ( axi_c910_rsp_t )
673+
.AddrWidth ( Cfg.AddrWidth ),
674+
.DataWidth ( C910AxiDataWidth ),
675+
.IdWidth ( Cfg.AxiMstIdWidth ),
676+
.UserWidth ( Cfg.AxiUserWidth ),
677+
.axi_req_t ( axi_c910_req_t ),
678+
.axi_rsp_t ( axi_c910_rsp_t )
679679
) i_c910_axi_wrap (
680680
.clk_i,
681681
.rst_ni,
@@ -750,7 +750,7 @@ module cheshire_soc import cheshire_pkg::*; #(
750750

751751
axi_dw_converter #(
752752
.AxiMaxReads ( 8 ), // Number of outstanding reads
753-
.AxiSlvPortDataWidth ( soc910_pkg::AxiDataWidth), // Data width of the slv port
753+
.AxiSlvPortDataWidth ( C910AxiDataWidth ), // Data width of the slv port
754754
.AxiMstPortDataWidth ( Cfg.AxiDataWidth ), // Data width of the mst port
755755
.AxiAddrWidth ( Cfg.AddrWidth ), // Address width
756756
.AxiIdWidth ( Cfg.AxiMstIdWidth ), // ID width
@@ -818,11 +818,11 @@ module cheshire_soc import cheshire_pkg::*; #(
818818
);
819819
end else begin: gen_i_c910_bus_err
820820
axi_err_unit_wrap #(
821-
.AddrWidth ( Cfg.AddrWidth ),
822-
.IdWidth ( soc910_pkg::AxiIdWidthMaster ),
823-
.UserErrBits ( Cfg.AxiUserErrBits ),
824-
.UserErrBitsOffset ( Cfg.AxiUserErrLsb ),
825-
.NumOutstanding ( Cfg.CoreMaxTxns ),
821+
.AddrWidth ( Cfg.AddrWidth ),
822+
.IdWidth ( Cfg.AxiMstIdWidth ),
823+
.UserErrBits ( Cfg.AxiUserErrBits ),
824+
.UserErrBitsOffset ( Cfg.AxiUserErrLsb ),
825+
.NumOutstanding ( Cfg.CoreMaxTxns ),
826826
.NumStoredErrors ( 4 ),
827827
.DropOldest ( 1'b0 ),
828828
.axi_req_t ( axi_cva6_req_t ),

target/xilinx/src/cheshire_top_xilinx.sv

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,12 @@ module cheshire_top_xilinx
189189
cheshire_cfg_t ret = FPGACfg;
190190
`ifdef TARGET_C910
191191
ret.Core = C910;
192-
ret.AddrWidth = soc910_pkg::AxiAddrWidth;
193-
ret.AxiMaxMstTrans = soc910_pkg::AxiMaxMstTrans;
194-
ret.AxiMstIdWidth = soc910_pkg::AxiIdWidthMaster;
195-
ret.AxiUserWidth = soc910_pkg::AxiUserWidth;
192+
ret.AddrWidth = 40;
193+
ret.AxiDataWidth = 64; // for SoC, the data path remain 64bit
194+
// 8n(Non-cacheable/Device) + 28(cacheable) read + 8n(Non-cacheable/Device) + 32(cacheable) write
195+
ret.AxiMaxMstTrans = 76;
196+
ret.AxiMstIdWidth = 8;
197+
ret.AxiUserWidth = 2;
196198
`endif
197199
return ret;
198200
endfunction

0 commit comments

Comments
 (0)