diff --git a/docs/VLSI/ASAP7-Tutorial.rst b/docs/VLSI/ASAP7-Tutorial.rst index 31856c59..ddeda299 100644 --- a/docs/VLSI/ASAP7-Tutorial.rst +++ b/docs/VLSI/ASAP7-Tutorial.rst @@ -20,7 +20,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``env.yml`` - * A template file for tool environment configuration. Fill in the install and license server paths for your environment. + * A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. * ``example-vlsi`` @@ -28,7 +28,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``example-asap7.yml``, ``example-tools.yml`` - * Hammer IR for this tutorial. + * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example ASAP7 config is found `here `__. * ``example-design.yml``, ``example-sky130.yml``, ``example-tech.yml`` @@ -38,9 +38,9 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * All of the elaborated Chisel and FIRRTL. -* ``hammer``, ``hammer--plugins``, ``hammer--plugin`` +* ``hammer--plugins`` - * Core, tool, tech repositories. + * Tool plugin repositories. * ``view_gds.py`` diff --git a/docs/VLSI/Sky130-Commercial-Tutorial.rst b/docs/VLSI/Sky130-Commercial-Tutorial.rst index ba3a04d9..8cbdd629 100644 --- a/docs/VLSI/Sky130-Commercial-Tutorial.rst +++ b/docs/VLSI/Sky130-Commercial-Tutorial.rst @@ -20,7 +20,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``env.yml`` - * A template file for tool environment configuration. Fill in the install and license server paths for your environment. + * A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. * ``example-vlsi-sky130`` @@ -28,7 +28,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``example-sky130.yml``, ``example-tools.yml``, ``example-designs/sky130-commercial.yml`` - * Hammer IR for this tutorial. + * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example ASAP7 config is found `here `__. * ``example-design.yml``, ``example-asap7.yml``, ``example-tech.yml`` @@ -38,9 +38,9 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * All of the elaborated Chisel and FIRRTL. -* ``hammer``, ``hammer--plugins``, ``hammer--plugin`` +* ``hammer--plugins`` - * Core, tool, tech repositories. + * Tool plugin repositories. Prerequisites ------------- diff --git a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst index eecdb8bf..4d2faee6 100644 --- a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst +++ b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst @@ -18,13 +18,17 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * Hammer output directory. Can be changed with the ``OBJ_DIR`` variable. * Will contain subdirectories such as ``syn-rundir`` and ``par-rundir`` and the ``inputs.yml`` denoting the top module and input Verilog files. +* ``env.yml`` + + * A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. + * ``example-vlsi-sky130`` * Entry point to Hammer. Contains example placeholders for hooks. * ``example-sky130.yml``, ``example-openroad.yml``, ``example-designs/sky130-openroad.yml`` - * Hammer IR for this tutorial. + * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example ASAP7 config is found `here `__. * ``example-design.yml``, ``example-asap7.yml``, ``example-tech.yml`` @@ -34,9 +38,9 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * All of the elaborated Chisel and FIRRTL. -* ``hammer``, ``hammer/src/hammer-vlsi//``, ``hammer/src/hammer-vlsi/technology/`` +* ``hammer--plugins`` - * Core repository, and open-source tool and technology plugins. + * Tool plugin repositories not used for this tutorial (they are provided in the hammer-vlsi package). Prerequisites ------------- diff --git a/fpga/fpga-shells b/fpga/fpga-shells index 474ad191..f1187f21 160000 --- a/fpga/fpga-shells +++ b/fpga/fpga-shells @@ -1 +1 @@ -Subproject commit 474ad19113b89ed5679695b269acdb011b9b871a +Subproject commit f1187f21a0e0a36366e43994f936d04329bfc630 diff --git a/generators/boom b/generators/boom index 98487c68..9e426908 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 98487c68cc4229cd991eac6a4f94d2fe8e5fdc1d +Subproject commit 9e4269088ed7f83ad57b75d62082170c2c502952 diff --git a/generators/constellation b/generators/constellation index 55b1899a..b93fde3e 160000 --- a/generators/constellation +++ b/generators/constellation @@ -1 +1 @@ -Subproject commit 55b1899a3bc997734dbd589b46fcf14246d5361b +Subproject commit b93fde3e2824f728c404e08984046d41679ec31f diff --git a/generators/cva6 b/generators/cva6 index 737fd83b..31fd9cdf 160000 --- a/generators/cva6 +++ b/generators/cva6 @@ -1 +1 @@ -Subproject commit 737fd83b820aea6d615f372a97766b1d390a18d5 +Subproject commit 31fd9cdf801b407acee3989622902db59e474f90 diff --git a/generators/fft-generator b/generators/fft-generator index a31bd038..40357f00 160000 --- a/generators/fft-generator +++ b/generators/fft-generator @@ -1 +1 @@ -Subproject commit a31bd038ddf3c941634cb830608edb0bdd6442db +Subproject commit 40357f00a8f091e97be9dbf39256e511dac6c494 diff --git a/generators/gemmini b/generators/gemmini index 74251dc6..6f57972d 160000 --- a/generators/gemmini +++ b/generators/gemmini @@ -1 +1 @@ -Subproject commit 74251dc61f971fd684bc37963f7db9d8a5bd206a +Subproject commit 6f57972db9b0815462cc0569f922792f83e35c5d diff --git a/generators/hwacha b/generators/hwacha index e1be8e2a..b0795a3a 160000 --- a/generators/hwacha +++ b/generators/hwacha @@ -1 +1 @@ -Subproject commit e1be8e2a41c6bc2239aed4e23355cf34a224f380 +Subproject commit b0795a3aafd3b22b00061c1c3e2e710d73b4f112 diff --git a/generators/ibex b/generators/ibex index 5a512227..a5214d0a 160000 --- a/generators/ibex +++ b/generators/ibex @@ -1 +1 @@ -Subproject commit 5a512227d8f6d2929cc354c02d40200002e661e5 +Subproject commit a5214d0a0a6351dc2e03930750f831b0f28df8bf diff --git a/generators/icenet b/generators/icenet index fb23840e..e14c1e8c 160000 --- a/generators/icenet +++ b/generators/icenet @@ -1 +1 @@ -Subproject commit fb23840eab7a33249eaa23cad7bed4137055e8dd +Subproject commit e14c1e8c54851d3fa7bc55fbbc6fc48873a3b2a9 diff --git a/generators/riscv-sodor b/generators/riscv-sodor index 9265d02d..510dea74 160000 --- a/generators/riscv-sodor +++ b/generators/riscv-sodor @@ -1 +1 @@ -Subproject commit 9265d02d3c32d56065427ec76c41b3c5a37f78dd +Subproject commit 510dea7407d8bca5eef18175530ffffa8e0774ce diff --git a/generators/rocket-chip b/generators/rocket-chip index 3b5fb3c0..44b0b824 160000 --- a/generators/rocket-chip +++ b/generators/rocket-chip @@ -1 +1 @@ -Subproject commit 3b5fb3c043ccc2cea81ed7a44b295f4652d0ba02 +Subproject commit 44b0b8249279d25bd75ea693b725d9ff1b96e2ab diff --git a/generators/sha3 b/generators/sha3 index 98089ba3..88ada85a 160000 --- a/generators/sha3 +++ b/generators/sha3 @@ -1 +1 @@ -Subproject commit 98089ba372a847d62024d36db62429a8bcdfd7ea +Subproject commit 88ada85a84253434ea5cef729d90cd74796aa442 diff --git a/generators/sifive-blocks b/generators/sifive-blocks index 4273925f..e8adf0e3 160000 --- a/generators/sifive-blocks +++ b/generators/sifive-blocks @@ -1 +1 @@ -Subproject commit 4273925fdd5d8872d6b6a8dec6cee3330b9a68c7 +Subproject commit e8adf0e3ef94f76f73001fbeda767d6899c60eb3 diff --git a/generators/sifive-cache b/generators/sifive-cache index 850e1215..2e47c707 160000 --- a/generators/sifive-cache +++ b/generators/sifive-cache @@ -1 +1 @@ -Subproject commit 850e12154c1de6baee9e40094d115e9b85d799b1 +Subproject commit 2e47c707e04dbbbdbf81561a979c055f87ac8df2 diff --git a/generators/testchipip b/generators/testchipip index 2906d503..70cdc3f0 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 2906d503cf6df42e5b6da576ff9e67d0c65368bc +Subproject commit 70cdc3f0206453aa9cbb76ba9619b87d7e10266a diff --git a/sims/firesim b/sims/firesim index 9d3462ed..8176b657 160000 --- a/sims/firesim +++ b/sims/firesim @@ -1 +1 @@ -Subproject commit 9d3462ed1357cc198be8485ae57635b9651999d5 +Subproject commit 8176b657ee779ac4901b6b03aea0ac23a0b8874d diff --git a/toolchains/riscv-tools/riscv-tests b/toolchains/riscv-tools/riscv-tests index a6ab6ae6..c84daca8 160000 --- a/toolchains/riscv-tools/riscv-tests +++ b/toolchains/riscv-tools/riscv-tests @@ -1 +1 @@ -Subproject commit a6ab6ae6008ffc2ea907ea9f6d2b8379583e7d56 +Subproject commit c84daca8824635b7d896003c78f9c6245997cf7a diff --git a/tools/barstools b/tools/barstools index b71c31e6..df3232f7 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit b71c31e66e4ea3575df23e7f851d79744ab5331e +Subproject commit df3232f7d967d22570dd3c90706ce9422c25df07 diff --git a/tools/dsptools b/tools/dsptools index 5b1e7335..a1809fba 160000 --- a/tools/dsptools +++ b/tools/dsptools @@ -1 +1 @@ -Subproject commit 5b1e733596a39f6960bf9a7c1897d82912372766 +Subproject commit a1809fbae9e49de7213116bbec79252645292e39 diff --git a/tools/rocket-dsp-utils b/tools/rocket-dsp-utils index 46d6ed77..4448e061 160000 --- a/tools/rocket-dsp-utils +++ b/tools/rocket-dsp-utils @@ -1 +1 @@ -Subproject commit 46d6ed77981ef18789636426cc23f0bd7edc64d9 +Subproject commit 4448e06138a1d9281621f349c306c8a066589e67 diff --git a/vlsi/Makefile b/vlsi/Makefile index 3cd4577d..bbb95902 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -57,11 +57,14 @@ endif ######################################################################################### ifneq ($(CUSTOM_VLOG), ) VLSI_RTL = $(CUSTOM_VLOG) - VLSI_BB = else - VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST)) $(TOP_SMEMS_FILE) - # TODO: have MFC split top & harness blackboxes - VLSI_BB = $(build_dir)/EICG_wrapper.v $(TOP_BB_MODS_FILELIST) + # This one-liner does a few things. Line-by-line: + # 1. concatenates the .top.f and .bb.f files and uniquifies them + # 2. removes all harness blackboxes with DPI calls (SimJTAG, etc.) + # 3. append EICG_wrapper.v and the compiled memories + VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST) $(BB_MODS_FILELIST) | sort | uniq | \ + rev | sed -E 's/cc(.*)/c\1/g' | uniq -s 1 | sed '/c\./d' | rev) \ + $(build_dir)/EICG_wrapper.v $(TOP_SMEMS_FILE) endif .PHONY: default @@ -222,12 +225,12 @@ ifeq ($(CUSTOM_VLOG), ) GENERATED_CONFS += $(SRAM_CONF) endif -$(SYN_CONF): $(VLSI_RTL) $(VLSI_BB) +$(SYN_CONF): $(VLSI_RTL) mkdir -p $(dir $@) echo "synthesis.inputs:" >> $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ - for x in $(VLSI_RTL) $(VLSI_BB); do \ + for x in $(VLSI_RTL); do \ echo ' - "'$$x'"' >> $@; \ done