Merge pull request #1695 from ucb-bar/remove-yosys-flag
Remove references to ENABLE_YOSYS
This commit is contained in:
@@ -28,7 +28,6 @@ EXTRA_SIM_CXXFLAGS ?=
|
|||||||
EXTRA_SIM_LDFLAGS ?=
|
EXTRA_SIM_LDFLAGS ?=
|
||||||
EXTRA_SIM_SOURCES ?=
|
EXTRA_SIM_SOURCES ?=
|
||||||
EXTRA_SIM_REQS ?=
|
EXTRA_SIM_REQS ?=
|
||||||
ENABLE_CUSTOM_FIRRTL_PASS += $(ENABLE_YOSYS_FLOW)
|
|
||||||
|
|
||||||
ifneq ($(ASPECTS), )
|
ifneq ($(ASPECTS), )
|
||||||
comma = ,
|
comma = ,
|
||||||
|
|||||||
@@ -123,8 +123,7 @@ The ``buildfile`` make target has dependencies on both (1) the Verilog that is e
|
|||||||
and (2) the mapping of memory instances in the design to SRAM macros;
|
and (2) the mapping of memory instances in the design to SRAM macros;
|
||||||
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
||||||
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
||||||
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
|
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows, so these flows should be run in separate
|
||||||
(due to the ``ENABLE_YOSYS_FLOW`` flag present for the OpenROAD flow), so these flows should be run in separate
|
|
||||||
chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly.
|
chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -161,8 +161,7 @@ The ``buildfile`` make target has dependencies on both (1) the Verilog that is e
|
|||||||
and (2) the mapping of memory instances in the design to SRAM macros;
|
and (2) the mapping of memory instances in the design to SRAM macros;
|
||||||
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
||||||
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
||||||
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
|
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows, so these flows should be run in separate
|
||||||
(due to the ``ENABLE_YOSYS_FLOW`` flag, explained below), so these flows should be run in separate
|
|
||||||
chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly.
|
chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly.
|
||||||
|
|
||||||
|
|
||||||
@@ -175,7 +174,6 @@ which will cause additional variables to be set in ``tutorial.mk``, a few of whi
|
|||||||
* ``DESIGN_CONF`` and ``EXTRA_CONFS`` allow for additonal design-specific overrides of the Hammer IR in ``example-sky130.yml``
|
* ``DESIGN_CONF`` and ``EXTRA_CONFS`` allow for additonal design-specific overrides of the Hammer IR in ``example-sky130.yml``
|
||||||
* ``VLSI_OBJ_DIR=build-sky130-openroad`` gives the build directory a unique name to allow running multiple flows in the same repo. Note that for the rest of the tutorial we will still refer to this directory in file paths as ``build``, again for brevity.
|
* ``VLSI_OBJ_DIR=build-sky130-openroad`` gives the build directory a unique name to allow running multiple flows in the same repo. Note that for the rest of the tutorial we will still refer to this directory in file paths as ``build``, again for brevity.
|
||||||
* ``VLSI_TOP`` is by default ``ChipTop``, which is the name of the top-level Verilog module generated in the Chipyard SoC configs. By instead setting ``VLSI_TOP=Rocket``, we can use the Rocket core as the top-level module for the VLSI flow, which consists only of a single RISC-V core (and no caches, peripherals, buses, etc). This is useful to run through this tutorial quickly, and does not rely on any SRAMs.
|
* ``VLSI_TOP`` is by default ``ChipTop``, which is the name of the top-level Verilog module generated in the Chipyard SoC configs. By instead setting ``VLSI_TOP=Rocket``, we can use the Rocket core as the top-level module for the VLSI flow, which consists only of a single RISC-V core (and no caches, peripherals, buses, etc). This is useful to run through this tutorial quickly, and does not rely on any SRAMs.
|
||||||
* ``ENABLE_YOSYS_FLOW = 1`` is required for synthesis through Yosys. This reverts to the Scala FIRRTL Compiler so that unsupported multidimensional arrays are not generated in the Verilog.
|
|
||||||
|
|
||||||
Running the VLSI Flow
|
Running the VLSI Flow
|
||||||
---------------------
|
---------------------
|
||||||
|
|||||||
@@ -22,27 +22,16 @@ vlsi.inputs.placement_constraints:
|
|||||||
bottom: 10
|
bottom: 10
|
||||||
|
|
||||||
# Place SRAM memory instances
|
# Place SRAM memory instances
|
||||||
# SRAM paths and configurations are slightly different due to ENABLE_YOSYS_FLOW flag
|
# data cache
|
||||||
# data cache
|
- path: "RocketTile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_0"
|
||||||
- path: "RocketTile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0"
|
|
||||||
type: hardmacro
|
type: hardmacro
|
||||||
x: 50
|
x: 50
|
||||||
y: 50
|
y: 50
|
||||||
orientation: r90
|
orientation: r90
|
||||||
- path: "RocketTile/dcache/data/data_arrays_0_1/data_arrays_0_0_ext/mem_0_0"
|
- path: "RocketTile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_1_0"
|
||||||
type: hardmacro
|
type: hardmacro
|
||||||
x: 50
|
x: 50
|
||||||
y: 450
|
y: 800
|
||||||
orientation: r90
|
|
||||||
- path: "RocketTile/dcache/data/data_arrays_0_2/data_arrays_0_0_ext/mem_0_0"
|
|
||||||
type: hardmacro
|
|
||||||
x: 50
|
|
||||||
y: 850
|
|
||||||
orientation: r90
|
|
||||||
- path: "RocketTile/dcache/data/data_arrays_0_3/data_arrays_0_0_ext/mem_0_0"
|
|
||||||
type: hardmacro
|
|
||||||
x: 50
|
|
||||||
y: 1250
|
|
||||||
orientation: r90
|
orientation: r90
|
||||||
|
|
||||||
# tag array
|
# tag array
|
||||||
@@ -53,7 +42,7 @@ vlsi.inputs.placement_constraints:
|
|||||||
orientation: r90
|
orientation: r90
|
||||||
|
|
||||||
# instruction cache
|
# instruction cache
|
||||||
- path: "RocketTile/frontend/icache/data_arrays_0_0/data_arrays_0_0_0_ext/mem_0_0"
|
- path: "RocketTile/frontend/icache/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0"
|
||||||
type: hardmacro
|
type: hardmacro
|
||||||
x: 50
|
x: 50
|
||||||
y: 2100
|
y: 2100
|
||||||
|
|||||||
@@ -54,8 +54,6 @@ vlsi.inputs.placement_constraints:
|
|||||||
bottom: 10
|
bottom: 10
|
||||||
|
|
||||||
# Place SRAM memory instances
|
# Place SRAM memory instances
|
||||||
# SRAM paths and configurations are slightly different due to ENABLE_YOSYS_FLOW flag
|
|
||||||
# data cache
|
|
||||||
- path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0"
|
- path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0"
|
||||||
type: hardmacro
|
type: hardmacro
|
||||||
x: 50
|
x: 50
|
||||||
|
|||||||
@@ -48,6 +48,11 @@ vlsi.inputs.placement_constraints:
|
|||||||
x: 50
|
x: 50
|
||||||
y: 50
|
y: 50
|
||||||
orientation: r90
|
orientation: r90
|
||||||
|
- path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_1_0"
|
||||||
|
type: hardmacro
|
||||||
|
x: 50
|
||||||
|
y: 800
|
||||||
|
orientation: r90
|
||||||
|
|
||||||
# tag array
|
# tag array
|
||||||
- path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/tag_array_0/tag_array_0_ext/mem_0_0"
|
- path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/tag_array_0/tag_array_0_ext/mem_0_0"
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ ifeq ($(tutorial),sky130-openroad)
|
|||||||
example-designs/sky130-openroad-rockettile.yml, )
|
example-designs/sky130-openroad-rockettile.yml, )
|
||||||
VLSI_OBJ_DIR ?= build-sky130-openroad
|
VLSI_OBJ_DIR ?= build-sky130-openroad
|
||||||
INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS)
|
INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS)
|
||||||
# Yosys compatibility for CIRCT-generated Verilog, at the expense of elaboration time.
|
# Yosys compatibility for CIRCT-generated Verilog
|
||||||
ENABLE_YOSYS_FLOW = 1
|
ENABLE_YOSYS_FLOW = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user