diff --git a/docs/VLSI/ASAP7-Tutorial.rst b/docs/VLSI/ASAP7-Tutorial.rst index b147d6a5..67165912 100644 --- a/docs/VLSI/ASAP7-Tutorial.rst +++ b/docs/VLSI/ASAP7-Tutorial.rst @@ -30,7 +30,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * Hammer IR for this tutorial. -* ``example-design.yml``, ``example-nangate45.yml``, ``example-tech.yml`` +* ``example-design.yml``, ``example-sky130.yml``, ``example-tech.yml`` * Hammer IR not used for this tutorial but provided as templates. diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst index 8ac01523..610f6958 100644 --- a/docs/VLSI/Basic-Flow.rst +++ b/docs/VLSI/Basic-Flow.rst @@ -42,7 +42,7 @@ Setting up the Hammer Configuration Files The first configuration file that needs to be set up is the Hammer environment configuration file ``env.yml``. In this file you need to set the paths to the EDA tools and license servers you will be using. You do not have to fill all the fields in this configuration file, you only need to fill in the paths for the tools that you will be using. If you are working within a shared server farm environment with an LSF cluster setup (for example, the Berkeley Wireless Research Center), please note the additional possible environment configuration listed in the :ref:`VLSI/Basic-Flow:Advanced Environment Setup` segment of this documentation page. -Hammer relies on YAML-based configuration files. While these configuration can be consolidated within a single files (as is the case in the ASAP7 tutorial :ref:`tutorial` and the ``nangate45`` +Hammer relies on YAML-based configuration files. While these configuration can be consolidated within a single files (as is the case in the ASAP7 tutorial :ref:`tutorial` and the ``sky130`` OpenRoad example), the generally suggested way to work with an arbitrary process technology or tools plugins would be to use three configuration files, matching the three Hammer concerns - tools, tech, and design. The ``vlsi`` directory includes three such example configuration files matching the three concerns: ``example-tools.yml``, ``example-tech.yml``, and ``example-design.yml``. diff --git a/docs/VLSI/Sky130-Commercial-Tutorial.rst b/docs/VLSI/Sky130-Commercial-Tutorial.rst index 7cc0bfbc..ffcdf6dc 100644 --- a/docs/VLSI/Sky130-Commercial-Tutorial.rst +++ b/docs/VLSI/Sky130-Commercial-Tutorial.rst @@ -30,7 +30,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * Hammer IR for this tutorial. -* ``example-design.yml``, ``example-nangate45.yml``, ``example-tech.yml`` +* ``example-design.yml``, ``example-asap7.yml``, ``example-tech.yml`` * Hammer IR not used for this tutorial but provided as templates. diff --git a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst index 5b0c3fb0..60bfddc5 100644 --- a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst +++ b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst @@ -26,7 +26,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * Hammer IR for this tutorial. -* ``example-design.yml``, ``example-asap7.yml``, ``example-nangate45.yml``, ``example-tech.yml`` +* ``example-design.yml``, ``example-asap7.yml``, ``example-tech.yml`` * Hammer IR not used for this tutorial but provided as templates. diff --git a/vlsi/Makefile b/vlsi/Makefile index 2b64b74a..80ea52b0 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -34,8 +34,7 @@ else endif ENV_YML ?= $(vlsi_dir)/env.yml -TECH_CONF ?= $(if $(filter $(tech_name),nangate45), example-nangate45.yml,\ - $(if $(filter $(tech_name),asap7), example-asap7.yml,\ +TECH_CONF ?= $(if $(filter $(tech_name),asap7), example-asap7.yml,\ example-sky130.yml)) TOOLS_CONF ?= example-tools.yml INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) diff --git a/vlsi/example-nangate45.yml b/vlsi/example-nangate45.yml deleted file mode 100644 index 5b4a59ea..00000000 --- a/vlsi/example-nangate45.yml +++ /dev/null @@ -1,73 +0,0 @@ -#---------------------- -# Technology Setup -#---------------------- - -vlsi.core.technology: nangate45 - -# the nangate45.tech.json can't reference the $OPENROAD environment variable, -# so we need to set the install dir here. -# TODO: figure out how to remove this, or override it within OpenROADTool -technology.nangate45.install_dir: "/k/work/OpenROAD-flow/tools/OpenROAD" - -vlsi.core.max_threads: 12 - -#---------------------- -# General Hammer Inputs -#---------------------- - -# 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_type: "cpf" - -# Specify clock signals -vlsi.inputs.clocks: [ - {name: "clock_clock", period: "5ns", uncertainty: "0.5ns"} -] - -# Generate Make include to aid in flow -vlsi.core.build_system: make - -#---------------------- -# Placement Constraints -#---------------------- - -# For nangate45, size should be multiple of (0.19,1.4) placement grid -vlsi.inputs.placement_constraints: - - path: "ChipTop" - type: toplevel - x: 0 - y: 0 - width: 3334.72 - height: 3798.2 - margins: - left: 0 - right: 0 - top: 0 - bottom: 0 - -# SRAM Compiler compiler options -vlsi.core.sram_generator_tool: "sram_compiler" -## You should specify a location for the SRAM generator in the tech plugin -vlsi.core.sram_generator_tool_path: [ - "hammer/src/hammer-vlsi/technology/nangate45"] -vlsi.core.sram_generator_tool_path_meta: "append" - -#---------------------- -# Tool options. Replace with your tool plugin of choice. -#---------------------- - -# OpenROAD-yosys options -vlsi.core.synthesis_tool: "yosys" -vlsi.core.synthesis_tool_path: ["hammer/src/hammer-vlsi/synthesis/yosys"] -vlsi.core.synthesis_tool_path_meta: "append" - -# OpenROAD-par options -vlsi.core.par_tool: "openroad" -vlsi.core.par_tool_path: ["hammer/src/hammer-vlsi/par"] -vlsi.core.par_tool_path_meta: "append" - -# OpenROAD-drc options (no lvs) -vlsi.core.drc_tool: "openroad" -vlsi.core.drc_tool_path: ["hammer/src/hammer-vlsi/drc"] -vlsi.core.drc_tool_path_meta: "append"