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.

quering IO SDCs in DC/ICC

Status
Not open for further replies.

shelby

Full Member level 2
Joined
Jan 4, 2007
Messages
124
Helped
38
Reputation
74
Reaction score
18
Trophy points
1,298
Activity points
2,045
Whats an easy way to query input/ouput delay values on ports in DC/ICC? I don't see an attribute for input/output delays on ports. I can get the vaules with get_timing_path attributes, but this takes to long if I want to loop over my thousands of ports. Anyone know an easier way?
 

set inputCollection1 [remove_from_collection [all_inputs] clk]
set_input_delay 2 -clock clk $inputCollection1
 

set inputCollection1 [remove_from_collection [all_inputs] clk]
set_input_delay 2 -clock clk $inputCollection1

now after I set this, how to I query the input delay?

set delay_value = [how do I get delay vaule of PortA?]
 

I'm sorry, didn't read your question carefully.
You can create attribute for each port. And store input_delay there:

set inputCollection [remove_from_collection [all_inputs] clk ]
foreach i $inputCollection {
set_attribute -type float $i startpoint_input_delay_value 5.5
set port_delay [ get_attribute $i startpoint_input_delay_value ]
set_input_delay -clock clk $port_delay $i
}

Now you can use "get_attribute $i startpoint_input_delay_value" to get input delay for given port.
 
  • Like
Reactions: shelby

    shelby

    Points: 2
    Helpful Answer Positive Rating
hi kornukhin

Thanks for the reply (and sorry for the delay). Not exactly what I was looking for, but a good idea which I hadn't thought of.

I have an sdc with all my input/output delays already set that I source in. What I was hoping to do was be able to relax them on the fly 10,20,30% etc after reading it in and run multiple experiments to see how my internal reg2reg paths are effected. I could always preprocess the sdcs with a perl script, but thats just an extra script I need to run before hand.

One think I was thinking is just parse the sdc file in DC, get each port name & delay values, scale the delays, then set the input/output with the scaled values. Still not ideal imo.

I think the problem is you can't easily query in/out delay values since there isn't a port attribute for them. You can query them through get_attribute on get_timing_paths object, but thats just too darn slow.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top