Physical Design Via Place-and-Route - RTL To GDS
Physical Design Via Place-and-Route - RTL To GDS
Physical Design Via Place-and-Route - RTL To GDS
endmodule
6
7
Digression: HDL vs HCL
● Chisel (strictly speaking) isn’t an HDL...
● What’s the difference?
HDL HCL
source source
8
Other HCLs/HDLs
● PyMTL
● Bluespec
● Magma
● Lava
● Netlist
● etc
9
RTL Design Is Only Part of the Picture
10
RTL Design Is Only Part of the Picture
11
What Makes Creating Hardware Difficult?
● What makes the design cycle long and expensive?
○ Architectural Design Space Exploration
○ RTL Development [J. Bachrach et al, DAC 2012]
○ Physical Design and Implementation
○ Verification - “is it correct?”
○ Validation - “is it the right problem to solve?”
● Compilers and Generators
○ Having reliable, re-usable, and robust tools is the name of the
game
○ BAG, Chisel, etc.
12
13
Why Physical Design Matters
Physical Design is HARD - CAD Tools Aren’t Automatic
Legend
source code generated file
“WhichVerilog
logic gates do I need?”
Instances
Chisel + FIRRTL
Verilog Instances
CAD Tools
TCL Scripts
Chips
16
Digression: Why Agile Physical Design?
1. Analog/Mixed-Signal (AMS) Systems
2. Improved Usability for Faster Design Space Exploration
3. Technology Portability
4. Hierarchical Design
17
Research Plug
18
HAMMER/CICL: A Modular Platform to Encode
Expertise and Intent
● Physical design is a collection of many difficult problems
○ No silver bullet
● Need to lower barrier to solving these problems
○ Other tapeouts solve these problems, but their solutions are not general or reusable
○ Get designers to encode solutions in a more reusable way, so future tapeouts can leverage
previous work (even with different technologies, CAD tools, or designs)
● Provide collection of API’s that designers leverage to build these tools
○ Higher-level and CAD-tool independent directives
○ Directly manipulate/introspect on RTL
○ Higher-level technology abstractions
19
What HAMMER means for this class
1. Re-use of other research tapeouts’ efforts
2. Faster flow development
3. Abstractions to reduce the complexity of VLSI flows and make them more
accessible
4. Encoding designer knowledge/expertise in a robust way
a. There’s a ton of info that ends up in people’s heads as you do stuff, and it’s hard to write stuff
down in a productive way
b. Reducing pain for future tapeout students like yourselves
Big Picture Overview (Simplified) 20
Chisel SRAM Cache
Physical Design
SRAMs FIRRTL
Power Timing & I/O
Floorplan
Strategy Constraints
Verilog
TCL
Flip-flop implementation
25
MacroCompiler
● Solution: FIRRTL compiler passes that identify the generic memories from
Chisel/FIRRTL (ReplSeqMem) and replace them with modules which use
collections of BlackBox SRAM memories (MacroCompiler) given a cache of
technology SRAMs.
source source
28
False Paths
● False paths
○ A logically impossible path that appears with a naive analysis.
○ Look at the timing report and declare it as a false path.
○ Dangerous if misused
source
29
Synthesis
● Maps RTL (Verilog) to a post-synthesis netlist (structural Verilog).
● Standard cells come in different sizes and drive strengths.
● The synthesis tool uses the previously-mentioned constraints to select
standard cells appropriately.
● Synthesis will also perform optimizations to simplify the RTL.
○ E.g. if all of a module’s inputs are constants, it may optimize away the module entirely by
precomputing its outputs.
RTL
Constraints
30
Synthesis Example
source source
33
Standard Cell Layout
● Standard cells are assembled into
layouts in tracks by placing them
next to each other.
● Signals are routed in layers above
the standard cells.
● Power is routed to the rails (vdd
and gnd) via a power plan (e.g.
power grid and vias).
● Each row is typically mirrored
(vdd->gnd, gnd->vdd, etc)
● Overlap rails, not abut them
source
34
Other Aspects of Floorplanning
● Power planning - defines the power strategy for the chip. For example, a
power plan for the chip can involve creating grids for VDD and GND on each
layer.
● Tap cells - technologies require the substrate/body to be “tapped” to a known
voltage. Standard cells exist to perform this body tapping. Some stdcell
architectures come with built-in taps.
● Filler cells - in order to meet density requirements, unused space must be
filled, typically with decap.
35
Floorplan Visualization (Example)
36
Place and Route
● Given a post-synthesis netlist and floorplanning/physical design constraints,
create a physical layout by placing standard cells on the chip and creating
wires to route between the different cells.
● Performs standard cell placement and routing while respecting the
floorplanning/physical design constraints and routing to macros (e.g. analog
macros, SRAMs).
● The final result is a GDS file which can be sent to the fab.
37
DRC
● Design Rule Check (DRC) is the process of checking that the geometry in the
GDS file follows the rules given by the fab.
● Digital standard cell layouts must still obey design rules.
● Errors often happen when designs/layouts are integrated together.
● DRC rules in advanced technologies are extremely complex and confusing.
● Sometimes CAD tools can do stupid things!