Inputs Required For Synthesis
Inputs Required For Synthesis
Includes:
Modules/entities
Combinational logic
Example:
verilog
Copy
Edit
module adder(input [3:0] A, B, output [4:0] SUM);
assign SUM = A + B;
endmodule
2️⃣ Constraints File (Timing and Design Intent)
Format: SDC (Synopsys Design Constraints)
Purpose: Tells the tool what timing requirements the design must meet.
Includes:
Example:
tcl
Copy
Edit
create_clock -name clk -period 10 [get_ports clk]
set_input_delay 2 -clock clk [get_ports data_in]
3️⃣ Technology Library (.lib)
File type: .lib
Purpose: Describes the behavior and characteristics of each standard cell (e.g.,
AND, OR, DFF).
Includes:
Cell names
Pin names
Timing arcs (setup, hold, delay)
Power consumption
Area
Why needed: Synthesis maps RTL logic to these real, characterized cells.
Library example:
Includes:
Metal layers
Via rules
Why needed: Supports accurate wire load models and physical-aware synthesis.
Read RTL
Set constraints
Read libraries
Typical content:
tcl
Copy
Edit
read_verilog rtl/design.v
read_liberty -lib db/slow.lib
read_sdc constraints/design.sdc
compile_ultra
write -format ddc -hierarchy -output synthesized.ddc
6️⃣ Power Intent (Optional for Low Power Designs)
Format: UPF (Unified Power Format)
File type: .upf
Purpose: Tells the tool how power domains are defined and how logic interacts
across them.
Includes:
Power domains
Isolation strategies
Retention logic
Power switches
Example:
tcl
Copy
Edit
create_power_domain PD1 -elements {u_top}
set_isolation -domain PD1 -name iso1 -clamp_value 0
7️⃣ Scan Configuration (For DFT Insertion)
Format: Tool-specific .cfg or .txt
Includes:
Wire load models: for estimating routing delays (if no floorplan yet).
✅ Summary Table
Input Type File Format Required Purpose
RTL Code .v / .vhd ✅ Yes Functional design
Timing Constraints .sdc ✅ Yes Timing closure
Cell Library .lib ✅ Yes Map to real gates
Technology File .tf ✅ Yes Physical tech data
Setup Scripts .tcl ✅ Yes Flow automation
Power Intent (Low Power) .upf ❌ Optional Power-aware design
Scan Config .cfg ❌ Optional Test logic insertion
Wire Load Models In .lib or .tcl ❌ Optional Routing estimates