diff --git a/generators/chipyard/src/main/scala/config/RadianceConfigs.scala b/generators/chipyard/src/main/scala/config/RadianceConfigs.scala index 97df7d0e..dd56e7bf 100644 --- a/generators/chipyard/src/main/scala/config/RadianceConfigs.scala +++ b/generators/chipyard/src/main/scala/config/RadianceConfigs.scala @@ -5,10 +5,8 @@ import chipyard.stage.phases.TargetDirKey import freechips.rocketchip.devices.tilelink.BootROMLocated import freechips.rocketchip.diplomacy.{AsynchronousCrossing, BigIntHexContext} import freechips.rocketchip.subsystem.{InCluster, WithCluster, WithExtMemSize} -import freechips.rocketchip.tile.XLen import org.chipsalliance.cde.config.Config import radiance.memory._ -import radiance.subsystem.WithRadianceGemmini class WithRadROMs(address: BigInt, size: Int, filename: String) extends Config((site, here, up) => { case RadianceROMsLocated() => Some(up(RadianceROMsLocated()).getOrElse(Seq()) ++ @@ -45,11 +43,12 @@ class RadianceBaseConfig(argsBinFilename: String = "args.bin") extends Config( new WithRadROMs(0x28000L, 0x8000, "sims/op_b.bin") ++ new chipyard.harness.WithCeaseSuccess ++ new chipyard.iobinders.WithCeasePunchThrough ++ + new radiance.subsystem.WithRadianceSimParams(true) ++ new AbstractConfig) class RadianceConfig extends Config( - // important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed - new WithRadianceGemmini(location = InCluster(0), dim = 8, extMemBase = x"ff000000", spSizeInKB = 16, accSizeInKB = 8) ++ + // important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed + new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, extMemBase = x"ff000000", spSizeInKB = 16, accSizeInKB = 8) ++ new radiance.subsystem.WithRadianceCores(1, location=InCluster(0), useVxCache = false) ++ new radiance.subsystem.WithCoalescer(nNewSrcIds = 8) ++ new radiance.subsystem.WithVortexL1Banks(nBanks = 4)++ @@ -57,8 +56,8 @@ class RadianceConfig extends Config( new RadianceBaseConfig) class RadianceClusterConfig extends Config( - // important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed - new WithRadianceGemmini(location = InCluster(0), dim = 8, extMemBase = x"ff000000", spSizeInKB = 16, accSizeInKB = 8) ++ + // important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed + new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, extMemBase = x"ff000000", spSizeInKB = 16, accSizeInKB = 8) ++ new radiance.subsystem.WithRadianceCores(2, location=InCluster(0), useVxCache = false) ++ new radiance.subsystem.WithCoalescer(nNewSrcIds = 8) ++ new radiance.subsystem.WithVortexL1Banks(nBanks = 8)++ @@ -86,6 +85,10 @@ class RadianceClusterConfig2 extends Config( new radiance.subsystem.WithRadianceCluster(0) ++ new RadianceBaseConfig("args.2.bin")) +class RadianceClusterSynConfig extends Config( + new radiance.subsystem.WithRadianceSimParams(false) ++ + new RadianceClusterConfig) + class RadianceGemminiConfig extends Config( new radiance.subsystem.WithRadianceCores(1, useVxCache = false) ++ new radiance.subsystem.WithCoalescer(nNewSrcIds = 8) ++ diff --git a/generators/radiance b/generators/radiance index 824cae7c..3e0d87e1 160000 --- a/generators/radiance +++ b/generators/radiance @@ -1 +1 @@ -Subproject commit 824cae7c508b0ad92626f71f45041ae400deec65 +Subproject commit 3e0d87e1dd5eac5e3e101fc811d636801121bbde diff --git a/sims/vcs/vcs.mk b/sims/vcs/vcs.mk index 7136b53c..68b9aa71 100644 --- a/sims/vcs/vcs.mk +++ b/sims/vcs/vcs.mk @@ -50,9 +50,6 @@ VCS_NONCC_OPTS = \ +incdir+$(base_dir)/generators/radiance/src/main/resources/vsrc/vortex/third_party/fpnew/src/common_cells/include \ $(base_dir)/generators/radiance/src/main/resources/vsrc/vortex/third_party/fpnew/src/fpnew_pkg.sv \ $(base_dir)/generators/radiance/src/main/resources/vsrc/vortex/third_party/fpnew/src/fpu_div_sqrt_mvp/hdl/defs_div_sqrt_mvp.sv \ - $(base_dir)/generators/radiance/src/main/resources/vsrc/vortex/third_party/fpnew/src/common_cells/src/cb_filter_pkg.sv \ - $(base_dir)/generators/radiance/src/main/resources/vsrc/vortex/third_party/fpnew/src/common_cells/src/cf_math_pkg.sv \ - $(base_dir)/generators/radiance/src/main/resources/vsrc/vortex/third_party/fpnew/src/common_cells/src/ecc_pkg.sv \ -f $(sim_common_files) \ -sverilog +systemverilogext+.sv+.svi+.svh+.svt -assert svaext +libext+.sv \ +v2k +verilog2001ext+.v95+.vt+.vp +libext+.v \ diff --git a/vlsi/make_syn_f.sh b/vlsi/make_syn_f.sh new file mode 100755 index 00000000..81910d19 --- /dev/null +++ b/vlsi/make_syn_f.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Check if an argument is provided +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " + exit 1 +fi + +directory_path=$1 +gen_collateral_path="${directory_path}/gen-collateral" +output_file="${directory_path}/syn.f" + +if [ ! -d "$gen_collateral_path" ]; then + echo "The subdirectory gen-collateral does not exist in the provided directory." + exit 1 +fi + +# find "$gen_collateral_path" -type f \( -name "*.v" -o -name "*.sv" \) -exec realpath {} \; > "$output_file" +cat "${directory_path}/"*.top.f > "$output_file" +cat "${directory_path}/"*.bb.f | grep -E ".*v$" >> "$output_file" +find "$gen_collateral_path" -type f \( -name "*.top.mems.v" \) -exec realpath {} \; >> "$output_file" + +temp_file=$(mktemp) +grep "pkg" "$output_file" > "$temp_file" +grep "defs_div" "$output_file" >> "$temp_file" +cat "$output_file" | grep -v "pkg" | grep -v "defs_div" | grep -E -v "Sim.*.v" | sort -u >> "$temp_file" +mv "$temp_file" "$output_file" + +echo "File paths have been written to $output_file." +