From 37a2220833a40831c426f7a359d2c8b63207bfc6 Mon Sep 17 00:00:00 2001 From: Yvan Tortorella Date: Mon, 4 Mar 2024 18:43:03 +0100 Subject: [PATCH] Bump dependencies: * Remove deprecated IPs. * Enforce using `https` for clonig. --- Bender.local | 5 +-- Bender.lock | 58 ++++++++++++++------------------ Bender.yml | 10 +++--- env/env-iis.sh | 1 + hw/carfield.sv | 40 +--------------------- hw/carfield_pkg.sv | 84 +++++++++++++++++++++++++++++++--------------- 6 files changed, 92 insertions(+), 106 deletions(-) diff --git a/Bender.local b/Bender.local index 98f9e29c..756bdd09 100644 --- a/Bender.local +++ b/Bender.local @@ -7,11 +7,12 @@ overrides: axi_riscv_atomics: { git: https://github.com/pulp-platform/axi_riscv_atomics.git , version: 0.8.2 } apb: { git: "https://github.com/pulp-platform/apb.git" , version: 0.2.3 } register_interface: { git: "https://github.com/pulp-platform/register_interface.git" , rev: "e4b20be8833180863ebc64675c93b1694239c505" } # branch: astral - redundancy_cells: { git: "https://github.com/pulp-platform/redundancy_cells.git" , rev: "3fbd080e479f194f68e51dbe262e62c4362868bd" } # branch: astral + redundancy_cells: { git: "https://github.com/pulp-platform/redundancy_cells.git" , rev: "c37bdb47339bf70e8323de8df14ea8bbeafb6583" } # branch: astral-rebase + hci: { git: "https://github.com/pulp-platform/hci.git" , rev: v1.1 } tech_cells_generic: { git: "https://github.com/pulp-platform/tech_cells_generic.git" , version: =0.2.13 } riscv-dbg: { git: "https://github.com/pulp-platform/riscv-dbg.git" , version: =0.8.0 } idma: { git: "https://github.com/pulp-platform/idma.git" , version: 0.5.1 } - hier-icache: { git: "https://github.com/pulp-platform/hier-icache.git" , rev: a971e364bf8090cf77fafad995b480c1ac7ea4e0 } + hier-icache: { git: "https://github.com/pulp-platform/hier-icache.git" , rev: 2886cb2a46cea3e2bd2d979b505d88fadfbe150c } # branch: astral scm: { git: "https://github.com/pulp-platform/scm.git" , rev: 74426dee36f28ae1c02f7635cf844a0156145320 } cluster_interconnect: { git: "https://github.com/pulp-platform/cluster_interconnect.git", rev: 89e1019d64a86425211be6200770576cbdf3e8b3 } # branch: assertion-fix clic: { git: "https://github.com/pulp-platform/clic.git" , rev: 0ff9f07e0a492bff046dfe24399b1e1e82d557b7 } # branch: balasr/dev-2 diff --git a/Bender.lock b/Bender.lock index ebf06b7a..699b1b77 100644 --- a/Bender.lock +++ b/Bender.lock @@ -31,7 +31,7 @@ packages: - common_verification - tech_cells_generic axi2mem: - revision: 6973e0434d26ba578cdb4aa69c26c1facd1a3f15 + revision: b0e963433b2f6a61262b1448031e74eaec57c203 version: null source: Git: https://github.com/pulp-platform/axi2mem.git @@ -39,8 +39,8 @@ packages: - axi_slice - common_cells axi2per: - revision: a99ef2fac9f3b087671109a27c766f25e8e0f115 - version: 1.0.1 + revision: 4932bd2b88a1c7b5f0bf95411fc512905ed32439 + version: null source: Git: https://github.com/pulp-platform/axi2per.git dependencies: @@ -56,14 +56,6 @@ packages: - common_verification - register_interface - tech_cells_generic - axi_node: - revision: e2d038004c5b8cec9dd3bb9d23ad0bee72f9d908 - version: 1.1.4 - source: - Git: git@github.com:pulp-platform/axi_node.git - dependencies: - - axi - - common_cells axi_obi: revision: null version: null @@ -111,10 +103,10 @@ packages: revision: 0ec0bf8b7dab6d5e4b3f7ec58338a8efee066379 version: null source: - Git: git@github.com:AlSaqr-platform/can_bus.git + Git: https://github.com/AlSaqr-platform/can_bus.git dependencies: [] cheshire: - revision: 74756f851447e3ad1643299baa17220e1365b400 + revision: f3a1d447e9948d4f5a68f6d61ad1d5389f1f2f4d version: null source: Git: https://github.com/pulp-platform/cheshire.git @@ -163,7 +155,7 @@ packages: dependencies: - common_cells cluster_peripherals: - revision: c015839816938a790c8da5fd5829cfc536f1ca9c + revision: c9defcfb4f4e8733383b28a451c430783c2febbd version: null source: Git: https://github.com/pulp-platform/cluster_peripherals.git @@ -193,7 +185,7 @@ packages: - fpnew - tech_cells_generic cva6: - revision: 6503a4c88ff2e274724cbebce8d25fb883d8b8a8 + revision: 72f3219fc57e158e41adede05cd2e65a42db97bc version: null source: Git: https://github.com/pulp-platform/cva6.git @@ -201,6 +193,7 @@ packages: - axi - common_cells - fpnew + - redundancy_cells - tech_cells_generic dyn_mem: revision: 480590062742230dc9bd4050358a15b4747bdf34 @@ -238,7 +231,7 @@ packages: dependencies: - common_cells hci: - revision: b2e6f391aa6c10c03f45b693d80a0aaddecf169b + revision: 4823e503851eb7e8cc765a58621d767a01d6a77b version: null source: Git: https://github.com/pulp-platform/hci.git @@ -247,12 +240,12 @@ packages: - hwpe-stream - l2_tcdm_hybrid_interco hier-icache: - revision: a971e364bf8090cf77fafad995b480c1ac7ea4e0 + revision: 2886cb2a46cea3e2bd2d979b505d88fadfbe150c version: null source: Git: https://github.com/pulp-platform/hier-icache.git dependencies: - - axi_node + - axi - axi_slice - common_cells - icache-intc @@ -266,8 +259,8 @@ packages: dependencies: - tech_cells_generic hwpe-stream: - revision: ddc154424187dff42a8fcec946c768ceb13f13de - version: 1.6.4 + revision: bcb4435f802add732f557dc7fa1c6b5dd8854458 + version: 1.7.1 source: Git: https://github.com/pulp-platform/hwpe-stream.git dependencies: @@ -293,7 +286,7 @@ packages: revision: 663c3b6d3c2bf63ff25cda46f33c799c647b3985 version: 1.0.1 source: - Git: git@github.com:pulp-platform/icache-intc.git + Git: https://github.com/pulp-platform/icache-intc.git dependencies: [] idma: revision: ca1b28816a3706be0bf9ce01378246d5346384f0 @@ -324,7 +317,7 @@ packages: revision: aa169bd4a4e1d736ce67a8ad08b5ddd922f06e60 version: 1.1.0 source: - Git: git@github.com:pulp-platform/mailbox_unit.git + Git: https://github.com/pulp-platform/mailbox_unit.git dependencies: - axi - common_cells @@ -361,8 +354,8 @@ packages: - register_interface - tech_cells_generic per2axi: - revision: 892fcad60b6374fe558cbde76f4a529d473ba5ca - version: 1.0.4 + revision: 95bf23119b47fc171d9ed3734c431f71cffd9350 + version: null source: Git: https://github.com/pulp-platform/per2axi.git dependencies: @@ -376,7 +369,7 @@ packages: - axi - common_verification pulp_cluster: - revision: de93f2001ee0a6fca1dc11f6dd95119d8e6aadfb + revision: 3d3a8691a1fd87966835e89a64d4d370b379f402 version: null source: Git: https://github.com/pulp-platform/pulp_cluster.git @@ -384,7 +377,6 @@ packages: - axi - axi2mem - axi2per - - axi_slice - cluster_interconnect - cluster_peripherals - common_cells @@ -404,7 +396,7 @@ packages: - tech_cells_generic - timer_unit redmule: - revision: 0fe14edd77e9a35d3d220bd78bd6b41a0e5935ea + revision: 1b30b0b9a31afa702eb2d166d672ceda2f5d463a version: null source: Git: https://github.com/pulp-platform/redmule.git @@ -417,7 +409,7 @@ packages: - hwpe-stream - tech_cells_generic redundancy_cells: - revision: 3fbd080e479f194f68e51dbe262e62c4362868bd + revision: c37bdb47339bf70e8323de8df14ea8bbeafb6583 version: null source: Git: https://github.com/pulp-platform/redundancy_cells.git @@ -437,10 +429,10 @@ packages: - common_cells - common_verification riscv: - revision: a1dcae35edae6092ddbf92c424690cb903b678d5 + revision: c760db14dbd6cc3ec3b8ae8274df2eac7225bcac version: null source: - Git: git@github.com:AlSaqr-platform/riscv_nn.git + Git: https://github.com/AlSaqr-platform/riscv_nn.git dependencies: - fpnew - tech_cells_generic @@ -481,8 +473,8 @@ packages: dependencies: - tech_cells_generic serial_link: - revision: 77bec1aebd92b2ebea9962814f2370d5d48390c3 - version: 1.1.0 + revision: 5a25f5a71074f1ebb6de7b5280f2b16924bcc666 + version: 1.1.1 source: Git: https://github.com/pulp-platform/serial_link.git dependencies: @@ -490,7 +482,7 @@ packages: - common_cells - register_interface spatz: - revision: 2191fce502191995c2c670f6edb84b9b8370de86 + revision: 98de97f24fe42675c9b4a8cc08354a03af57400a version: null source: Git: https://github.com/pulp-platform/spatz.git diff --git a/Bender.yml b/Bender.yml index 0bf0d11c..add221fb 100644 --- a/Bender.yml +++ b/Bender.yml @@ -13,18 +13,18 @@ package: dependencies: register_interface: { git: https://github.com/pulp-platform/register_interface.git, version: 0.4.2 } axi: { git: https://github.com/pulp-platform/axi.git, version: 0.39.1 } - cheshire: { git: https://github.com/pulp-platform/cheshire.git, rev: 74756f851447e3ad1643299baa17220e1365b400 } # branch: astral + cheshire: { git: https://github.com/pulp-platform/cheshire.git, rev: f3a1d447e9948d4f5a68f6d61ad1d5389f1f2f4d } # branch: astral hyperbus: { git: https://github.com/pulp-platform/hyperbus.git, rev: f039e601c8b6590181734e6d26ff8b77aa380412 } # branch: chi/add_fsm_with_Tcsh dyn_mem: { git: https://github.com/pulp-platform/dyn_spm.git, rev: 480590062742230dc9bd4050358a15b4747bdf34 } # branch: main safety_island: { git: https://github.com/pulp-platform/safety_island.git, rev: aaef55c798ab53560faaf451a86668fa1e6d0f3b } # branch: carfield - pulp_cluster: { git: https://github.com/pulp-platform/pulp_cluster.git, rev: de93f2001ee0a6fca1dc11f6dd95119d8e6aadfb } # branch: yt/rapidrecovery + pulp_cluster: { git: https://github.com/pulp-platform/pulp_cluster.git, rev: 3d3a8691a1fd87966835e89a64d4d370b379f402 } # branch: astral opentitan: { git: https://github.com/pulp-platform/opentitan.git, rev: 74e7d6ca17e6a46e727ae2ae11177611232eaeb9 } # branch: carfield_soc - mailbox_unit: { git: git@github.com:pulp-platform/mailbox_unit.git, version: 1.1.0 } + mailbox_unit: { git: https://github.com/pulp-platform/mailbox_unit.git, version: 1.1.0 } apb: { git: https://github.com/pulp-platform/apb.git, version: 0.2.3 } timer_unit: { git: https://github.com/pulp-platform/timer_unit.git, version: 1.0.2 } apb_adv_timer: { git: https://github.com/pulp-platform/apb_adv_timer.git, version: 1.0.4 } - can_bus: { git: git@github.com:AlSaqr-platform/can_bus.git, rev: 0ec0bf8b7dab6d5e4b3f7ec58338a8efee066379 } # branch: pulp - spatz: { git: https://github.com/pulp-platform/spatz.git, rev: 2191fce502191995c2c670f6edb84b9b8370de86 } # branch: aottaviano/spatz-carfield + can_bus: { git: https://github.com/AlSaqr-platform/can_bus.git, rev: 0ec0bf8b7dab6d5e4b3f7ec58338a8efee066379 } # branch: pulp + spatz: { git: https://github.com/pulp-platform/spatz.git, rev: 98de97f24fe42675c9b4a8cc08354a03af57400a } # branch: yt/astral common_cells: { git: https://github.com/pulp-platform/common_cells.git, version: 1.31.1 } pulp-ethernet: { git: https://github.com/pulp-platform/pulp-ethernet.git, rev: bdc8031ab270a49da28df269266ce9ab9a133636 } # branch: carfield riscv-dbg: { git: https://github.com/pulp-platform/riscv-dbg.git, version: =0.8.0 } diff --git a/env/env-iis.sh b/env/env-iis.sh index 1d29154c..ff9e4f0e 100644 --- a/env/env-iis.sh +++ b/env/env-iis.sh @@ -8,4 +8,5 @@ ROOTD=$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")/.." && pwd) export PATH=/usr/pack/riscv-1.0-kgf/riscv64-gcc-11.2.0/bin:$PATH # RV64 GCC toolchain export SAFED_RISCV=/usr/pack/riscv-1.0-kgf/pulp-gcc-2.6.0/bin/riscv32-unknown-elf export PULPD_RISCV=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/bin/riscv32-unknown-elf +export SPATZD_RISCV=/usr/pack/riscv-1.0-kgf/riscv64-gcc-9.5.0/bin/riscv64-unknown-elf export QUESTA=questa-2023.4 diff --git a/hw/carfield.sv b/hw/carfield.sv index 79a5c106..057992b7 100644 --- a/hw/carfield.sv +++ b/hw/carfield.sv @@ -1438,45 +1438,7 @@ if (CarfieldIslandsCfg.pulp.enable) begin : gen_pulp_cluster `ifndef INT_CLUSTER_NETLIST pulp_cluster #( - .NB_CORES ( IntClusterNumCores ), - .NB_HWPE_PORTS ( IntClusterNumHwpePorts ), - .NB_DMAS ( IntClusterNumDmas ), - .NB_MPERIPHS ( IntClusterNumMstPer ), - .NB_SPERIPHS ( IntClusterNumSlvPer ), - .SynchStages ( SyncStages ), - .TCDM_SIZE ( IntClusterTcdmSize ), - .NB_TCDM_BANKS ( IntClusterTcdmBanks ), - .HWPE_PRESENT ( IntClusterHwpePresent ), - .USE_HETEROGENEOUS_INTERCONNECT ( IntClusterUseHci ), - .SET_ASSOCIATIVE ( IntClusterSetAssociative ), - .NB_CACHE_BANKS ( IntClusterNumCacheBanks ), - .CACHE_LINE ( IntClusterNumCacheLines ), - .CACHE_SIZE ( IntClusterCacheSize ), - .L0_BUFFER_FEATURE ( "DISABLED" ), - .MULTICAST_FEATURE ( "DISABLED" ), - .SHARED_ICACHE ( "ENABLED" ), - .DIRECT_MAPPED_FEATURE ( "DISABLED" ), - .L2_SIZE ( L2MemSize ), - .USE_REDUCED_TAG ( "TRUE" ), - .DEBUG_START_ADDR ( IntClusterDbgStart ), - .ROM_BOOT_ADDR ( IntClusterBootAddr ), - .BOOT_ADDR ( IntClusterBootAddr ), - .INSTR_RDATA_WIDTH ( IntClusterInstrRdataWidth ), - .CLUST_FPU ( IntClusterFpu ), - .CLUST_FP_DIVSQRT ( IntClusterFpuDivSqrt ), - .CLUST_SHARED_FP ( IntClusterFpu ), - .CLUST_SHARED_FP_DIVSQRT ( IntClusterFpuDivSqrt ), - .NumAxiMst ( IntClusterNumAxiMst ), - .NumAxiSlv ( IntClusterNumAxiSlv ), - .AXI_ADDR_WIDTH ( Cfg.AddrWidth ), - .AXI_DATA_C2S_WIDTH ( Cfg.AxiDataWidth ), - .AXI_DATA_S2C_WIDTH ( Cfg.AxiDataWidth ), - .AXI_USER_WIDTH ( Cfg.AxiUserWidth ), - .AXI_ID_IN_WIDTH ( IntClusterAxiIdInWidth ), - .AXI_ID_OUT_WIDTH ( IntClusterAxiIdOutWidth ), - .LOG_DEPTH ( LogDepth ), - .BaseAddr ( CarfieldIslandsCfg.pulp.base ), - .CdcSynchStages ( SyncStages ) + .Cfg( PulpClusterCfg ) ) i_integer_cluster ( `else int_cluster i_integer_cluster ( diff --git a/hw/carfield_pkg.sv b/hw/carfield_pkg.sv index 62755ee7..657b093f 100644 --- a/hw/carfield_pkg.sv +++ b/hw/carfield_pkg.sv @@ -511,9 +511,9 @@ localparam safety_island_pkg::safety_island_cfg_t SafetyIslandCfg = '{ // Cheshire configuration localparam cheshire_cfg_t CarfieldCfgDefault = '{ // CVA6 parameters - Cva6RASDepth : ariane_pkg::ArianeDefaultConfig.RASDepth, - Cva6BTBEntries : ariane_pkg::ArianeDefaultConfig.BTBEntries, - Cva6BHTEntries : ariane_pkg::ArianeDefaultConfig.BHTEntries, + Cva6RASDepth : cva6_config_pkg::cva6_cfg.RASDepth, + Cva6BTBEntries : cva6_config_pkg::cva6_cfg.BTBEntries, + Cva6BHTEntries : cva6_config_pkg::cva6_cfg.BHTEntries, Cva6NrPMPEntries : 0, Cva6ExtCieLength : 'h1000_0000, // [0x2000_0000, 0x7000_0000) is non-CIE, // [0x7000_0000, 0x8000_0000) is CIE @@ -676,39 +676,69 @@ localparam int unsigned SafetyIslandPerOffset = 'h0020_0000; /******************************/ /* Integer Cluster Parameters */ /******************************/ -localparam int unsigned IntClusterNumHwpePorts = 9; -localparam int unsigned IntClusterNumDmas = 4; -localparam int unsigned IntClusterNumMstPer = 1; -localparam int unsigned IntClusterNumSlvPer = 10; -localparam int unsigned IntClusterTcdmSize = 256*1024; -localparam int unsigned IntClusterTcdmBanks = 16; -localparam int unsigned IntClusterHwpePresent = 1; -localparam int unsigned IntClusterUseHci = 1; -localparam int unsigned IntClusterSetAssociative = 4; localparam int unsigned IntClusterNumCacheBanks = 2; -localparam int unsigned IntClusterNumCacheLines = 1; -localparam int unsigned IntClusterCacheSize = 4*1024; -localparam int unsigned IntClusterDbgStart = CarfieldIslandsCfg.safed.base+ - SafetyIslandPerOffset+ - safety_island_pkg::DebugAddrOffset; -localparam int unsigned IntClusterBootAddrDefaultOffs = 'h8080; -localparam int unsigned IntClusterBootAddr = CarfieldIslandsCfg.l2_port0.base + - IntClusterBootAddrDefaultOffs; -localparam int unsigned IntClusterInstrRdataWidth = 32; -localparam int unsigned IntClusterFpu = 0; -localparam int unsigned IntClusterFpuDivSqrt = 0; -localparam int unsigned IntClusterSharedFpu = 0; -localparam int unsigned IntClusterSharedFpuDivSqrt = 0; localparam int unsigned IntClusterNumAxiMst = 3; localparam int unsigned IntClusterNumAxiSlv = 4; -// IntClusterAxiIdInWidth is fixed from PULP Cluster +// // IntClusterAxiIdInWidth is fixed from PULP Cluster localparam int unsigned IntClusterAxiIdInWidth = $clog2(IntClusterNumCacheBanks) + 3; localparam int unsigned IntClusterAxiIdOutWidth = IntClusterAxiIdInWidth + $clog2(IntClusterNumAxiSlv); +localparam bit[CarfieldCfgDefault.AddrWidth-1:0] ClustPeriphOffs = 'h00200000; +localparam bit[CarfieldCfgDefault.AddrWidth-1:0] ClustExtOffs = 'h00400000; localparam int unsigned IntClusterMaxUniqId = 1; localparam int unsigned IntClusterNumEoc = 1; localparam logic [ 5:0] IntClusterIndex = (PulpHartIdOffs >> 5); -localparam logic [CarfieldCfgDefault.AddrWidth-1:0] IntClusterInternalSize = 'h0040_0000; +localparam pulp_cluster_package::pulp_cluster_cfg_t PulpClusterCfg = '{ + CoreType: pulp_cluster_package::RISCY, + NumCores: 12, + DmaNumPlugs: 4, + DmaNumOutstandingBursts: 8, + DmaBurstLength: 256, + NumMstPeriphs: 1, + NumSlvPeriphs: 10, + ClusterAlias: 1, + ClusterAliasBase: 'h0, + NumSyncStages: 3, + UseHci: 1, + TcdmSize: 256*1024, + TcdmNumBank: 16, + HwpePresent: 1, + HwpeNumPorts: 9, + iCacheNumBanks: IntClusterNumCacheBanks, + iCacheNumLines: 1, + iCacheNumWays: 4, + iCacheSharedSize: 4*1024, + iCachePrivateSize: 512, + iCachePrivateDataWidth: 32, + EnableReducedTag: 1, + L2Size: L2MemSize, + DmBaseAddr: CarfieldIslandsCfg.safed.base+ + SafetyIslandPerOffset+ + safety_island_pkg::DebugAddrOffset, + BootRomBaseAddr: CarfieldIslandsCfg.l2_port0.base + 'h8080, + BootAddr: CarfieldIslandsCfg.l2_port0.base + 'h8080, + EnablePrivateFpu: 0, + EnablePrivateFpDivSqrt: 0, + EnableSharedFpu: 0, + EnableSharedFpDivSqrt: 0, + NumSharedFpu: 0, + NumAxiIn: IntClusterNumAxiSlv, + NumAxiOut: IntClusterNumAxiMst, + AxiIdInWidth: IntClusterAxiIdInWidth, + AxiIdOutWidth:IntClusterAxiIdOutWidth, + AxiAddrWidth: CarfieldCfgDefault.AddrWidth, + AxiDataInWidth: CarfieldCfgDefault.AxiDataWidth, + AxiDataOutWidth: CarfieldCfgDefault.AxiDataWidth, + AxiUserWidth: CarfieldCfgDefault.AxiUserWidth, + AxiCdcLogDepth: 3, + AxiCdcSyncStages: SyncStages, + SyncStages: SyncStages, + ClusterBaseAddr: CarfieldAxiMap.AxiStart[CarfieldAxiSlvIdx.pulp], + ClusterPeriphOffs: ClustPeriphOffs, + ClusterExternalOffs: ClustExtOffs, + EnableRemapAddress: 0, + default: '0 +}; /*************************************/ /* Floating Point Cluster Parameters */