Floorplan stage : Key Inputs and Prerequisites
So far previous blog pages explain the brief about ASIC Physical design flow. For quick glance of ASIC design flow, refer : ASIC Design Flow . Now Lets deep dive into each steps of Physical design starting with "Floorplan inputs and Prerequisites".
Floorplan is the most important step in physical design implementation. it is like planning the layout of house before building it. Faulty floorplan leads to multiple challenges at subsequent stages of physical design flow such as placement, cts, routing...A good floorplan with proper Floorplan inputs sets the foundation for subsequent stages and significantly impacting the overall quality of results.
Floorplan stage : Key inputs
The input for floorplan stage are like the materials and plans you need before building a house. Below are key inputs of Floorplan :
- Design information :
- This refers to detailed gate level netlist representation of design containing the connectivity information of all elements including design ports, standard cells and macros. Generally Verilog netlist is available in .v format.
- Design Library information :
- It is the details about the stdcell/macros. The list of stdcell and macros in the library is superset of those present in the netlist.
- Design information is categorized in two types : Logical and Physical.
- Physical Library : it describe the physical attributes of cells such as their size, shape and the physical location of pins. A common example of physical library is Library exchange format (LEF), which is available in .lef format.
- Logical library : Defines the logical attributes of cells such as functionality, all input/output pin direction , timing information. A widely used example of timing library format is .lib.
- EDA tools requires Logical/Physical library in specific format. for example, Synopsys ICC2/Fusion compiler uses New Design Model(NDM) which integrates both .lib and .lef data while Cadence Innovous requires libraries in .lib and .lef format.
- Technology information :
- This file contains specific information about Technology i/e manufacturing process like layer details and spacing rules. technology file is available in TECHLEF or .tf files
- Floorplan information :
- This refers to physical layout of design including shape(rectangle/rectilinear) and size(Height/width) of floorplan and physical placement of input/output ports.
- in larger SOCs , initial floorplan information for block is typically provided by fullchip team during top-won approach. This can later be refined based on block's design details using bottom-up approach.
- Voltage areas/Power Intent - UPF(unified power format) :
- only applicable to design uses multiple voltage
- contains information about different power domains
- Design constraints :
- these are the essential rules for timing, power, area which design must need to meet. They are critical for placement and later stages. The most commonly used format for specifying these constraints is Synopsys Design Constraints(SDC) file typically provided in .sdc format.
- Multi Mode Multi Corner (MMMC) information:
- for advanced technology nodes , Timing signoff involves multiple Process, Voltage and Temperature (PVT) configurations. to address this complexity, the multi mode multi corner approach is used in Place-and-Route (PNR) tools across the scenarios. This is also critical input for placement and subsequent stages.
Floorplan stage : Prerequisites
- Quality of design check :
- Check the completeness and correctness of netlist. "check_design" command provide all such information of design.
- multiple modules with same name: each modules should be defined only on time in netlist.
- undriven input pins : Ensure there are no undriven and multi-driven pin as these can lead to functional and timing issues in later stages. Undriven nets cause the unexpected value(X) propagation through input pin which leads to affect the functionality.
- unloaded output ports : output ports without any connection referred as unloaded output. when such output ports are connected to other block's input ports, it can lead to unexpected value propagation. If unloaded output ports are expected, it should be tie-off using tie-low/tie-high.
- pin direction mis-match : ensure that each pins are having required direction from one of input/output/inout.
- Formality : make sure Formal verification is PASS against Original RTL and Synthesized gate-level netlist.
- Floorplan validation :
- It is essential to ensure that all necessary floorplan information is accurate and complete. block's size(height-width) , shape (rectilinear or rectangle ) is must need information before starting floorplan.
- Ensure that physical location of all input/output ports are available otherwise it can impact the floorplan .
- Quality of library :
- Confirm that all cells used in netlist are present in library. missing any cell information leads to unresolved reference and can't be proceed for further stage.
- All cells should be present in logical and physical library. cells having only timing or physical information affect the optimization and implementation.
- command : check_library
- Quality of constraints :
- Validate SDC file to ensure it is syntactically correct and free of errors.
- Note that detailed constraints validation is broader topic and will be covered in an upcoming blog post.
- Power Intent and UPF validation :
- Validate UPF file to ensure that power domain, supply nets and voltage area are correctly defined and it needs to align with design's low power requirement
Why SDC is required during floorplan?
ReplyDeleteSDC is not directly required for floorplan. its for placement and later stages.
DeleteTrue. you are correct. Floorplan stage doesn't required SDC as floorplan is related to macro/port placement. it is only required for later stages.
Delete