synthesizable radiance
This commit is contained in:
@@ -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) ++
|
||||
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)++
|
||||
@@ -58,7 +57,7 @@ class RadianceConfig extends Config(
|
||||
|
||||
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) ++
|
||||
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) ++
|
||||
|
||||
Submodule generators/radiance updated: 824cae7c50...3e0d87e1dd
@@ -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 \
|
||||
|
||||
30
vlsi/make_syn_f.sh
Executable file
30
vlsi/make_syn_f.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if an argument is provided
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <directory_path>"
|
||||
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."
|
||||
|
||||
Reference in New Issue
Block a user