Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

what to do "Path is unconstrained"

Status
Not open for further replies.

abu9022

Member level 3
Member level 3
Joined
Jan 2, 2013
Messages
60
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Visit site
Activity points
1,715
Hi Friends

when I am trying the command "report_timing", I am not getting Slack, but I am getting path is unconstrained

can you tell me How to solve Path is unconstrained

Below is my script file
can you check I need to add anything
Code:
#################################################
# list of all HDL files in the design
set myFiles [list leon/std_logic_signed.vhd leon/std_logic_unsigned.vhd leon/std_logic_arith.vhd leon/amba.vhd leon/target.vhd leon/device.vhd leon/config.vhd leon/sparcv8.vhd leon/mmuconfig.vhd leon/iface.vhd leon/macro.vhd leon/bprom.vhd leon/multlib.vhd leon/tech_generic.vhd leon/tech_virtex.vhd leon/tech_virtex2.vhd leon/tech_atc18.vhd leon/tech_atc25.vhd leon/tech_atc35.vhd leon/tech_fs90.vhd leon/tech_tsmc25.vhd leon/tech_umc18.vhd leon/tech_proasic.vhd leon/tech_axcel.vhd leon/tech_map.vhd leon/mmu_icache.vhd leon/mmu_dcache.vhd leon/mmu_acache.vhd leon/mmutlbcam.vhd leon/mmulrue.vhd leon/mmulru.vhd leon/mmutlb.vhd leon/mmutw.vhd leon/mmu.vhd leon/mmu_cache.vhd leon/cachemem.vhd leon/icache.vhd leon/dcache.vhd leon/acache.vhd leon/cache.vhd leon/ambacomp.vhd leon/apbmst.vhd leon/ahbmst.vhd leon/ahbstat.vhd leon/ahbtest.vhd leon/ahbram.vhd leon/ahbarb.vhd leon/lconf.vhd leon/fpulib.vhd leon/fpu_lth.vhd leon/meiko.vhd leon/fpu_core.vhd leon/grfpc.vhd leon/fp1eu.vhd leon/ioport.vhd leon/irqctrl.vhd leon/irqctrl2.vhd leon/sdmctrl.vhd leon/mctrl.vhd leon/rstgen.vhd leon/timers.vhd leon/uart.vhd leon/mul.vhd leon/div.vhd leon/iu.vhd leon/dcom_uart.vhd leon/dcom.vhd leon/dsu_mem.vhd leon/dsu.vhd leon/proc.vhd leon/wprot.vhd leon/mcore.vhd leon/leon.vhd]


#set basename leon
set basename iu;
set fileFormat vhdl;
set myClk clk;
set virtual 1;
set my_period_ns 7.0;

#set my_clk_freq_MHz 166.7
#set clock_skew = 0.10
#set my_input_delay_ns 0.0
##set my_output_delay_ns 0.0
set my_flatten 1;  ##one yes, zero no

# runtime options
set runname clk7.0_td;

############################################
#Timing and loading Information
#set myClkLatency_ns 0.0;
#set myInDelay_ns 0.0;
#set myOutDelay_ns 0.0;
#set myMaxFanout 1;
#set myOutputLoad 0.1;

##########################################
#Library path
set search_path "$search_path /home/ee5323/mwj894/Nangate"
set target_library  "NangateOpenCellLibrary_slow_conditional_nldm.db";
set link_library  "* NangateOpenCellLibrary_slow_conditional_nldm.db";

#hdlin_ff_always_sync_set_reset = true
#hdlin_translate_off_skip_text = true

# analyze and elaborate verilog source files
set alib_library_analysis_path $search_path
define_design_lib WORK -path ./work
set verilogout_show_unconnected_pins "true"
#set vhdlout_unconnected_pin_prefix
#set_ultra_optimization true
#set_ultra_optimization -force
analyze -format $fileFormat -lib WORK $myFiles
elaborate $basename -lib WORK -update

current_design $basename
link
uniquify

#set my_period [expr 1000 / $my_clk_freq_MHz]

#set find_clock [ find port [list $my_clock_pin] ]
#if {  $find_clock != [list] } {
#   set clk_name $my_clock_pin
#   create_clock -period $my_period $clk_name
#} else {
#   set clk_name vclk
#   create_clock -period $my_period -name $clk_name
#}

#set_input_delay $my_input_delay_ns -clock $clk_name [remove_from_collection [all_inputs] $my_clock_pin]
#set_output_delay $my_output_delay_ns -clock $clk_name [all_outputs]

if { $my_flatten == 1} {
    compile -ungroup_all -map_effort medium
} elseif { $my_flatten == 0} {
    compile -map_effort medium
}
#####################################################
#### setup clock and all input/output constraints####
#####################################################
echo SETTING CONSTRAINTS

#####################################################
#now you can create clock for the design
if{$virtual == 0} {
create_clock -period $myPeriod_ns $myClk
} else {
create_clock -period $myPeriod_ns -name $myClk
}

#set_clock_latency $myClkLatency_ns $myClk

####################################################
#set delays on all input and output with respect to the clock (in ns)
#set the input and output delay relative to myClk


#if { $virtual == 0} {
#set_input_delay $myInDelay_ns -clock $myClk [all_inputs]
#} else {
#set_input_delay $myInDelay_ns -clock $myClk [remove_from_collection [all_inputs] $myClk]
#}

#set_output_delay $myOutDelay_ns -clock $myClk [all_outputs]


####################################################
#other constraints
####################################################


#set_drive -rise 1 "clk"
#set_drive -fall 1 "clk"

#0 optimize for area, 1 optimize for timing driven
#set_max_area 1

#check design
check_design
check_timing

#compile the design
compile_ultra

check_design
echo VIOLATIONS
report_constraint -all_violators

#write -f db -hier -output leon_synth_166.7mhz_db.db

####################################################
# generate verilog code for synthesized module
# sdc file, sdf files, design compiler project
# and write out reports
###################################################

echo OUTPUT FILES AND REPORTS
set filebase [format "%s%s" [format "%s%s" $basename "_"] $runname]

#structural synthesized file as verilog
set filename [format "%s%s%s" ./src/ $filebase ".v"]
redirect change_names {change_names -rules verilog -hierarchy -verbose}
write -format verilog -hierarchy -output $filename

#write -f verilog -output iu_verilog7ns.v
#write -f vhdl -output iu_vhdl7ns.vhd

#write out the sdf file for back-annotated verilog sim
set filename [format "%s%s%s" ./src/ $filebase ".sdf" ]
write_sdf -version 1.0 $filename
#write_sdc iu_verilog7ns.sdc
#write_sdf iu_verilog7ns.sdf
set true_delay_prove_true_backtrack_limit 1000000
set true_delay_prove_false_backtrack_limit 1000000
#set_atpg -merge high -verbose
#run_atpg -auto
report_timing -true


#timing reports
set filename [format "%s%s%s" ./reports/ $filebase ".time" ]
redirect $filename {report_timing }


#timing reports
set filename [format "%s%s%s" ./reports/ $filebase ".timing" ]
redirect $filename {report_timing -nets -path full -delay max -max_path 20 -nworst 10}

#report_area
set filename [format "%s%s%s" ./reports/ $filebase ".area" ]
redirect $filename {report_area}

#report_power
set filename [format "%s%s%s" ./reports/ $filebase ".pow" ]
redirect $filename {report_power -analysis_effort low}



#report_timing -nets -path full -delay max -nworst 5000 -max_paths 5000 > iu_verilog7ns.5000worst
#report_timing -nets -path full -delay max -greater_path 2.0 -max_paths 5000 > iu_verilog7ns.5000greater2ns

#exit
#~
 

Solve it by constraining the path.
Have you got all the clocks constrained?
Is the path you're trying to report timing on some unclocked path?
 

Solve it by constraining the path.
Have you got all the clocks constrained?
Is the path you're trying to report timing on some unclocked path?

Currently, I am using clk=7 ns, so i need to increase clock?

for 7 ns, below is report_timing
Code:
 Des/Clust/Port     Wire Load Model       Library
  ------------------------------------------------
  iu                 5K_hvratio_1_1        NangateOpenCellLibrary

  Point                        Fanout      Incr       Path
  -----------------------------------------------------------
  ex_reg_LDBP2_/CK (DFF_X2)                0.00       0.00 r
  ex_reg_LDBP2_/Q (DFF_X2)                 0.59       0.59 r
  n8694 (net)                    9         0.00       0.59 r
  U8728/Z (MUX2_X1)                        0.72       1.32 f
  n5673 (net)                    8         0.00       1.32 f
  U4965/Z (XOR2_X1)                        0.36       1.67 f
  r920_B_AS_0_ (net)             1         0.00       1.67 f
  r920_U1_0/CO (FA_X1)                     0.48       2.15 f
  r920_carry_1_ (net)            1         0.00       2.15 f
  r920_U1_1/CO (FA_X1)                     0.40       2.56 f
  r920_carry_2_ (net)            1         0.00       2.56 f
  r920_U1_2/CO (FA_X1)                     0.40       2.96 f
  r920_carry_3_ (net)            1         0.00       2.96 f
  r920_U1_3/CO (FA_X1)                     0.40       3.36 f
  r920_carry_4_ (net)            1         0.00       3.36 f
  r920_U1_4/CO (FA_X1)                     0.40       3.76 f
  r920_carry_5_ (net)            1         0.00       3.76 f
  r920_U1_5/CO (FA_X1)                     0.40       4.16 f
  r920_carry_6_ (net)            1         0.00       4.16 f
  r920_U1_6/CO (FA_X1)                     0.40       4.56 f
 r920_carry_7_ (net)            1         0.00       4.56 f
  r920_U1_7/CO (FA_X1)                     0.40       4.96 f
  r920_carry_8_ (net)            1         0.00       4.96 f
  r920_U1_8/CO (FA_X1)                     0.40       5.37 f
  r920_carry_9_ (net)            1         0.00       5.37 f
  r920_U1_9/CO (FA_X1)                     0.40       5.77 f
  r920_carry_10_ (net)           1         0.00       5.77 f
  r920_U1_10/CO (FA_X1)                    0.40       6.17 f
  r920_carry_11_ (net)           1         0.00       6.17 f
  r920_U1_11/CO (FA_X1)                    0.40       6.57 f
  r920_carry_12_ (net)           1         0.00       6.57 f
  r920_U1_12/CO (FA_X1)                    0.40       6.97 f
  r920_carry_13_ (net)           1         0.00       6.97 f
  r920_U1_13/CO (FA_X1)                    0.40       7.37 f
  r920_carry_14_ (net)           1         0.00       7.37 f
  r920_U1_14/CO (FA_X1)                    0.40       7.77 f
  r920_carry_15_ (net)           1         0.00       7.77 f
  r920_U1_15/CO (FA_X1)                    0.40       8.18 f
  r920_carry_16_ (net)           1         0.00       8.18 f
  r920_U1_16/CO (FA_X1)                    0.40       8.58 f
  r920_carry_17_ (net)           1         0.00       8.58 f
  r920_U1_17/CO (FA_X1)                    0.40       8.98 f
  r920_carry_18_ (net)           1         0.00       8.98 f
  r920_U1_18/CO (FA_X1)                    0.40       9.38 f
  r920_carry_19_ (net)           1         0.00       9.38 f
  r920_U1_19/CO (FA_X1)                    0.40       9.78 f
  r920_carry_20_ (net)           1         0.00       9.78 f
  r920_U1_20/CO (FA_X1)                    0.40      10.18 f
  r920_carry_21_ (net)           1         0.00      10.18 f
  r920_U1_21/CO (FA_X1)                    0.40      10.58 f
  r920_carry_22_ (net)           1         0.00      10.58 f
  r920_U1_22/CO (FA_X1)                    0.40      10.99 f
  r920_carry_23_ (net)           1         0.00      10.99 f
  r920_U1_23/CO (FA_X1)                    0.40      11.39 f
r920_carry_24_ (net)           1         0.00      11.39 f
  r920_U1_24/CO (FA_X1)                    0.40      11.79 f
  r920_carry_25_ (net)           1         0.00      11.79 f
  r920_U1_25/CO (FA_X1)                    0.40      12.19 f
  r920_carry_26_ (net)           1         0.00      12.19 f
  r920_U1_26/CO (FA_X1)                    0.40      12.59 f
  r920_carry_27_ (net)           1         0.00      12.59 f
  r920_U1_27/CO (FA_X1)                    0.40      12.99 f
  r920_carry_28_ (net)           1         0.00      12.99 f
  r920_U1_28/CO (FA_X1)                    0.40      13.39 f
  r920_carry_29_ (net)           1         0.00      13.39 f
  r920_U1_29/CO (FA_X1)                    0.40      13.80 f
  r920_carry_30_ (net)           1         0.00      13.80 f
  r920_U1_30/CO (FA_X1)                    0.40      14.20 f
  r920_carry_31_ (net)           1         0.00      14.20 f
  r920_U1_31/S (FA_X1)                     0.79      14.99 r
  addout[31] (net)               6         0.00      14.99 r
  U5009/Z (MUX2_X1)                        0.21      15.19 r
  dci[76] (net)                  1         0.00      15.19 r
  dci[76] (out)                            0.00      15.19 r
  data arrival time                                  15.19
  -----------------------------------------------------------
  (Path is unconstrained)
 


This is the output of a register (flip-flop).
Code:
ex_reg_LDBP2_/CK (DFF_X2)                0.00       0.00 r
ex_reg_LDBP2_/Q (DFF_X2)                 0.59       0.59 r

Code:
dci[76] (net)                  1         0.00      15.19 r
dci[76] (out)                            0.00      15.19 r
That looks like the output of the design at the top level (i.e. an output pin)

As you haven't created any constraints for output pins (or as a matter of fact for input pins either) you get an unconstrained path.

I would also venture to say that the design needs work as any output pin of the device should probably not have that many levels of combinational logic to reach the pin (i.e. if you want a design that works in a system).
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top