From 8c3a586c738926c886b83e9383bc30616b7386be Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 20 Sep 2023 15:53:13 -0700 Subject: [PATCH 1/8] Add NarrowRocketCache config fragment For configs with wide SBUS, a narrow rocket cache is easier to PD, and does not incur any performance loss usually --- .../src/main/scala/config/fragments/TileFragments.scala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala index 17eaa3f0..abd26769 100644 --- a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala +++ b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala @@ -66,6 +66,15 @@ class WithNPMPs(n: Int = 8) extends Config((site, here, up) => { } }) +class WithRocketCacheRowBits(rowBits: Int = 64) extends Config((site, here, up) => { + case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem)) map { + case tp: RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy( + dcache = tp.tileParams.dcache.map(_.copy(rowBits = rowBits)), + icache = tp.tileParams.icache.map(_.copy(rowBits = rowBits)) + )) + } +}) + class WithRocketICacheScratchpad extends Config((site, here, up) => { case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem), site) map { case tp: RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy( From f3c7ecf8baebd392a5679f06d24c3d02b142cdf6 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Sat, 23 Sep 2023 19:17:54 -0700 Subject: [PATCH 2/8] REFACTOR: change bootaddr and reset vector address --- .../src/main/scala/config/fragments/PeripheralFragments.scala | 2 +- generators/testchipip | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala b/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala index 8f52be74..51d31094 100644 --- a/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala +++ b/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala @@ -29,7 +29,7 @@ import chipyard.{ExtTLMem} * @param hang the power-on reset vector, i.e. the program counter will be set to this value on reset * @param contentFileName the path to the BootROM image */ -class WithBootROM(address: BigInt = 0x10000, size: Int = 0x10000, hang: BigInt = 0x10040) extends Config((site, here, up) => { +class WithBootROM(address: BigInt = 0x10000, size: Int = 0x10000, hang: BigInt = 0x10000) extends Config((site, here, up) => { case BootROMLocated(x) => up(BootROMLocated(x), site) .map(_.copy( address = address, diff --git a/generators/testchipip b/generators/testchipip index 177e3071..4be9e328 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 177e3071991421bdb042fec8411c51463477c7fc +Subproject commit 4be9e3288b72ea9c1f36b5022647c3931a72706c From 8fa8be566914ab331b3d998baf85aa4da98e7006 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Wed, 27 Sep 2023 10:54:57 -0700 Subject: [PATCH 3/8] ADD: bump testchipip --- generators/testchipip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/testchipip b/generators/testchipip index 4be9e328..307fca3c 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 4be9e3288b72ea9c1f36b5022647c3931a72706c +Subproject commit 307fca3c3ec4484d071744df6752bbbb77be7ddb From b1f3119676179636eec1b4366d563ecf0eb89712 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Mon, 16 Oct 2023 16:18:42 -0700 Subject: [PATCH 4/8] Bump barstools --- tools/barstools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/barstools b/tools/barstools index f5fe37c4..60a1be9b 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit f5fe37c4bf0a37eb5033eeaf930c337895470607 +Subproject commit 60a1be9bfe344fccbddd4874524accb3c9d2ade9 From 77ee5906e258f0694e8a498670b908603d6ffa89 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 19 Oct 2023 11:19:56 -0700 Subject: [PATCH 5/8] [vlsi][ci skip] Fix INPUT_CONFS override in tutorial.mk --- vlsi/tutorial.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index 6b970fcb..92ba0a98 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -12,6 +12,7 @@ ifeq ($(tutorial),asap7) TECH_CONF ?= example-asap7.yml DESIGN_CONFS ?= VLSI_OBJ_DIR ?= build-asap7-commercial + INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS) endif ifeq ($(tutorial),sky130-commercial) @@ -23,6 +24,7 @@ ifeq ($(tutorial),sky130-commercial) $(if $(filter $(VLSI_TOP),Rocket), \ example-designs/sky130-rocket.yml, ) VLSI_OBJ_DIR ?= build-sky130-commercial + INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS) endif ifeq ($(tutorial),sky130-openroad) @@ -36,8 +38,8 @@ ifeq ($(tutorial),sky130-openroad) $(if $(filter $(VLSI_TOP),RocketTile), \ example-designs/sky130-openroad-rockettile.yml, ) VLSI_OBJ_DIR ?= build-sky130-openroad + INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS) # Yosys compatibility for CIRCT-generated Verilog, at the expense of elaboration time. ENABLE_YOSYS_FLOW = 1 endif -INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS) From d96629c6f15f24ad6cff182d3af4231c6b210468 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Wed, 1 Nov 2023 11:45:50 -0700 Subject: [PATCH 6/8] ADD: bump testchipip --- generators/testchipip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/testchipip b/generators/testchipip index 307fca3c..e3fa3072 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 307fca3c3ec4484d071744df6752bbbb77be7ddb +Subproject commit e3fa307268e0ed97d0389edd2c45ac0dd4993e72 From be22a1d3dc8f0f6fcedfa6769422b75cf07ca9e0 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Nov 2023 12:20:09 -0700 Subject: [PATCH 7/8] [ci] Update check-commit with missing submodules --- .github/scripts/check-commit.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/scripts/check-commit.sh b/.github/scripts/check-commit.sh index b15c571d..40e7d19d 100755 --- a/.github/scripts/check-commit.sh +++ b/.github/scripts/check-commit.sh @@ -45,7 +45,7 @@ search () { done } -submodules=("cva6" "boom" "ibex" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "sifive-blocks" "sifive-cache" "testchipip" "riscv-sodor" "mempress" "bar-fetchers" "shuttle") +submodules=("cva6" "boom" "ibex" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "sifive-blocks" "sifive-cache" "testchipip" "riscv-sodor" "mempress" "bar-fetchers" "shuttle" "constellation" "fft-generator" "hardfloat") dir="generators" branches=("master" "main" "dev") search @@ -81,14 +81,20 @@ dir="toolchains" branches=("master") search +submodules=("firesim") +dir="sims" +branches=("main") +search + + submodules=("coremark" "firemarshal" "nvdla-workload" "spec2017") dir="software" branches=("master" "dev") search -submodules=("DRAMSim2" "axe" "barstools" "dsptools" "rocket-dsp-utils" "torture") +submodules=("DRAMSim2" "axe" "barstools" "dsptools" "rocket-dsp-utils" "torture" "fixedpoint" "cde") dir="tools" -branches=("master" "dev") +branches=("master" "dev" "main") search submodules=("fpga-shells") From 5eae64667b6c06974d5056933f4d8a42baa1c5b5 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Nov 2023 12:37:41 -0700 Subject: [PATCH 8/8] Update docs to reflect bootrom change --- docs/Customization/Boot-Process.rst | 2 +- docs/Prototyping/Arty.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Customization/Boot-Process.rst b/docs/Customization/Boot-Process.rst index a84c4e99..52ea32c1 100644 --- a/docs/Customization/Boot-Process.rst +++ b/docs/Customization/Boot-Process.rst @@ -12,7 +12,7 @@ Device Tree Binary (dtb) which details the components of the system. The assembly for the BootROM code is located in `generators/testchipip/src/main/resources/testchipip/bootrom/bootrom.S `_. The BootROM address space starts at ``0x10000`` (determined by the ``BootROMParams`` key in the configuration) and execution starts at address -``0x10040`` (given by the linker script and reset vector in the ``BootROMParams``), which is marked by the ``_hang`` label in the BootROM assembly. +``0x10000`` (given by the linker script and reset vector in the ``BootROMParams``), which is marked by the ``_hang`` label in the BootROM assembly. The Chisel generator encodes the assembled instructions into the BootROM hardware at elaboration time, so if you want to change the BootROM code, you diff --git a/docs/Prototyping/Arty.rst b/docs/Prototyping/Arty.rst index 15347cf8..b4424bcf 100644 --- a/docs/Prototyping/Arty.rst +++ b/docs/Prototyping/Arty.rst @@ -34,7 +34,7 @@ Probe an address on the target system: .. code-block:: shell - ./uart_tsi +tty=/dev/ttyUSBX +init_read=0x10040 none + ./uart_tsi +tty=/dev/ttyUSBX +init_read=0x10000 none Write some address before running a program: