fix incorrect block for syn/par, but still have timing violations
This commit is contained in:
@@ -18,7 +18,15 @@ make buildfile
|
|||||||
```
|
```
|
||||||
|
|
||||||
# Example design
|
# Example design
|
||||||
In this example, you will be running a SHA-3 accelerator through the VLSI flow. It is assumed that you have already run through the flow to elaborate the Chisel into Verilog.
|
In this example, you will be running a SHA-3 accelerator through the VLSI flow. To elaborate the Sha3RocketConfig and set up all prerequisites for the build system:
|
||||||
|
```shell
|
||||||
|
export MACROCOMPILER_MODE=' --mode synflops'
|
||||||
|
export CONFIG=Sha3RocketConfig
|
||||||
|
export TOP=Sha3Accel
|
||||||
|
make buildfile
|
||||||
|
```
|
||||||
|
Note that because the ASAP7 process does not yet have a memory compiler, synflops are elaborated instead.
|
||||||
|
>>>>>>> fix incorrect block for syn/par, but still have timing violations
|
||||||
|
|
||||||
HAMMER's configuration is driven by a JSON/YAML format. For HAMMER, JSON and YAML files are equivalent - you can use either one since HAMMER will convert them to the same representation for itself.
|
HAMMER's configuration is driven by a JSON/YAML format. For HAMMER, JSON and YAML files are equivalent - you can use either one since HAMMER will convert them to the same representation for itself.
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,10 @@
|
|||||||
# Technology used is ASAP7
|
# Technology used is ASAP7
|
||||||
vlsi.core.technology: asap7
|
vlsi.core.technology: asap7
|
||||||
vlsi.core.node: 7
|
vlsi.core.node: 7
|
||||||
technology.asap7.tarball_dir: "SPECIFY DIR WITH ASAP7 TARBALL"
|
# Specify dir with ASAP7 tarball
|
||||||
technology.asap7.install_dir: "SPECIFY EXTRACTED DIR HERE IF NOT USING TARBALL"
|
technology.asap7.tarball_dir: "/tools/B/asap7"
|
||||||
|
# Specify extracted dir here if not using tarball
|
||||||
|
technology.asap7.install_dir: "/tools/B/asap7"
|
||||||
|
|
||||||
vlsi.core.max_threads: 12
|
vlsi.core.max_threads: 12
|
||||||
|
|
||||||
@@ -13,6 +15,7 @@ vlsi.inputs.supplies.VDD: "0.7 V"
|
|||||||
|
|
||||||
# Hammer will auto-generate a CPF for simple power designs; see hammer/src/hammer-vlsi/defaults.yml for more info
|
# Hammer will auto-generate a CPF for simple power designs; see hammer/src/hammer-vlsi/defaults.yml for more info
|
||||||
vlsi.inputs.power_spec_mode: "auto"
|
vlsi.inputs.power_spec_mode: "auto"
|
||||||
|
vlsi.inputs.power_spec_type: "cpf"
|
||||||
|
|
||||||
# Specify the setup and hold corners for ASAP7
|
# Specify the setup and hold corners for ASAP7
|
||||||
vlsi.inputs.mmmc_corners: [
|
vlsi.inputs.mmmc_corners: [
|
||||||
@@ -22,7 +25,7 @@ vlsi.inputs.mmmc_corners: [
|
|||||||
|
|
||||||
# Specify clock signals
|
# Specify clock signals
|
||||||
vlsi.inputs.clocks: [
|
vlsi.inputs.clocks: [
|
||||||
{name: "clock", period: "10ns", uncertainty: "0.1ns"}
|
{name: "clock", period: "20ns", uncertainty: "0.1ns"}
|
||||||
]
|
]
|
||||||
|
|
||||||
# Generate Make include to aid in flow
|
# Generate Make include to aid in flow
|
||||||
@@ -50,18 +53,25 @@ par.generate_power_straps_options:
|
|||||||
|
|
||||||
# Placement Constraints
|
# Placement Constraints
|
||||||
vlsi.inputs.placement_constraints:
|
vlsi.inputs.placement_constraints:
|
||||||
- path: "ExampleTop"
|
- path: "Sha3Accel"
|
||||||
type: "toplevel"
|
type: "toplevel"
|
||||||
x: 0
|
x: 0
|
||||||
y: 0
|
y: 0
|
||||||
width: 50
|
width: 500
|
||||||
height: 50
|
height: 500
|
||||||
margins:
|
margins:
|
||||||
left: 0
|
left: 0
|
||||||
right: 0
|
right: 0
|
||||||
top: 0
|
top: 0
|
||||||
bottom: 0
|
bottom: 0
|
||||||
|
|
||||||
|
# Pin placement constraints
|
||||||
|
vlsi.inputs.pin_mode: generated
|
||||||
|
vlsi.inputs.pin.generate_mode: semi_auto
|
||||||
|
vlsi.inputs.pin.assignments: [
|
||||||
|
{pins: "*", layers: ["M5", "M7"], side: "bottom"}
|
||||||
|
]
|
||||||
|
|
||||||
# SRAM Compiler compiler options
|
# SRAM Compiler compiler options
|
||||||
vlsi.core.sram_generator_tool: "sram_compiler"
|
vlsi.core.sram_generator_tool: "sram_compiler"
|
||||||
vlsi.core.sram_generator_tool_path: ["SPECIFY LOCATION OF SRAM GENERATOR IN TECH PLUGIN"]
|
vlsi.core.sram_generator_tool_path: ["SPECIFY LOCATION OF SRAM GENERATOR IN TECH PLUGIN"]
|
||||||
@@ -82,6 +92,6 @@ par.innovus.design_flow_effort: "standard"
|
|||||||
par.inputs.gds_merge: true
|
par.inputs.gds_merge: true
|
||||||
# Calibre options
|
# Calibre options
|
||||||
vlsi.core.drc_tool: "calibre"
|
vlsi.core.drc_tool: "calibre"
|
||||||
vlsi.core.drc_tool_path: ["hammer-cad-plugins/drc"]
|
vlsi.core.drc_tool_path: ["hammer-mentor-plugins/drc"]
|
||||||
vlsi.core.lvs_tool: "calibre"
|
vlsi.core.lvs_tool: "calibre"
|
||||||
vlsi.core.lvs_tool_path: ["hammer-cad-plugins/lvs"]
|
vlsi.core.lvs_tool_path: ["hammer-mentor-plugins/lvs"]
|
||||||
|
|||||||
Reference in New Issue
Block a user