jgnr
Junior Member level 1
- Joined
- Sep 24, 2012
- Messages
- 19
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Activity points
- 1,437
Hello everybody,
I'm trying to sinthesize a full combinational design in Design Compiler.
But i'm having some problems with paths unconstrained in report_timing.
Let's start...
Here is an example of .sv code that i'm using to define a fulladder:
And here is the code that i'm using in Design Compiler to sinthesize it:
The report_timing gives me this message:
Any suggestion about the design and script?
Do you have an explanation about why can't I define the timing path of the project?
Thanks
I'm trying to sinthesize a full combinational design in Design Compiler.
But i'm having some problems with paths unconstrained in report_timing.
Let's start...
Here is an example of .sv code that i'm using to define a fulladder:
Code:
module fulladder(clk, CIN, A, B, COUT, S);
input logic clk;
input logic CIN, A, B;
output logic COUT, S;
logic fio1, fio2, fio3;
always_ff @ (negedge clk) begin
fio1 = A ^ B;
S = fio1 ^ CIN;
fio2 = A && B;
fio3 = fio1 && CIN;
COUT = fio3 || fio2;
end
endmodule
And here is the code that i'm using in Design Compiler to sinthesize it:
Code:
set verilogout_equation "false"
set verilogout_no_tri "true"
set write_name_nets_same_as_ports "true"
set verilogout_single_bit "false"
set hdlout_internal_busses "true"
set bus_inference_style "\%s\[\%d\]"
set sdfout_no_edge "true"
set fix_multiple_port_nets -all
define_design_lib WORK -path ../WORK
analyze -f sverilog -lib WORK ../RTL/fulladder.sv
elaborate fulladder -lib WORK
create_clock -period 10 -name clk [get_port clk]
set_input_transition -max 2 [get_ports {clk}]
set_input_delay 1 -clock clk [get_ports {CIN A B}]
set_output_delay 1 -clock clk [get_ports {COUT S}]
set_load 0.2 [get_ports {*}]
set_wire_load_model -name 0_5k
link
uniquify
current_design fulladder
compile
change_names -rules verilog -hierarchy
write -format verilog -hier -output ../resultados/fulladder.v
write_sdf -version 2.1 -significant_digits 4 "../resultados/ fulladder.sdf"
write_sdc "../resultados/fulladder.sdc"
report_timing > "../resultados/fulladder_timing.rpt"
report_area > "../resultados/fulladder_area.rpt"
report_power > "../resultados/fulladder_power.rpt"
The report_timing gives me this message:
Code:
Startpoint: U6/Q (internal pin)
Endpoint: COUT (output port clocked by clk)
Path Group: (none)
Path Type: max
Des/Clust/Port Wire Load Model Library
------------------------------------------------
fulladder 0_5k D_CELLSL_LP3MOS_typ_1_80V_25C
Point Incr Path
-----------------------------------------------------------
U6/Q (BULX2) 0.00 0.00 r
COUT (out) 0.00 0.00 r
data arrival time 0.00
-----------------------------------------------------------
(Path is unconstrained)
Any suggestion about the design and script?
Do you have an explanation about why can't I define the timing path of the project?
Thanks