Overriding SDF backannotation

Y

y_p_w

Guest
Hi all-

Having a quick question that may be difficult to test in real
operation.

We are using an SDF to backannotate our netlist. We're looking to
override specific timing checks (setup/hold) to zero on specific
registers. We were manually going into the SDF and modifying them,
but we receive updates and were looking for a way to avoid the tedious
task of manually inserting the changes.

The tool used is Cadence Incisive Simulator (NC Affirma) version 6.1.

Someone suggested creating a separate SDF file, and using that to
override the setup and hold times for the list of cells by calling
this SDF file last. It seems to compile just fine, but I'm thinking
this could result in several possibilities:

1) The override works as intended - just on the specific SETUP/HOLD
parameters, and any previous annotated timing checks are intact.

2) The override works on the intended cells but all other timing
checks are purged. Doesn't seem likely.

3) It does override, but all other timing checks (that aren't
specified in the new timing definitions) revert back to the default
value in the standard cell.

Any idea what would happen? I guess the other thing we could do is
call our Cadence rep.
 
On 24 Oct, 02:14, y_p_w <y_...@hotmail.com> wrote:
Hi all-

Having a quick question that may be difficult to test in real
operation.

We are using an SDF to backannotate our netlist. We're looking to
override specific timing checks (setup/hold) to zero on specific
registers. We were manually going into the SDF and modifying them,
but we receive updates and were looking for a way to avoid the tedious
task of manually inserting the changes.

The tool used is Cadence Incisive Simulator (NC Affirma) version 6.1.

Someone suggested creating a separate SDF file, and using that to
override the setup and hold times for the list of cells by calling
this SDF file last. It seems to compile just fine, but I'm thinking
this could result in several possibilities:

1) The override works as intended - just on the specific SETUP/HOLD
parameters, and any previous annotated timing checks are intact.

2) The override works on the intended cells but all other timing
checks are purged. Doesn't seem likely.

3) It does override, but all other timing checks (that aren't
specified in the new timing definitions) revert back to the default
value in the standard cell.

Any idea what would happen? I guess the other thing we could do is
call our Cadence rep.
Hi,

Generally, when we require this kind of functionality in the past, we
have used a perl script to automatically modify the SDF file.

I don't know why you are trying to change the SDF, but the primary
reason I have done it is to disable timing checks on FF's that form
synchronizers.

One method of doing this in Verilog is to force the notifier on the
UDP for the FF's that form the first stage of the synchronizers (this
can be done via TCL in most simulators).

Hope this helps,

Steven
 
y_p_w wrote:

We are using an SDF to backannotate our netlist. We're looking to
override specific timing checks (setup/hold) to zero on specific
registers. We were manually going into the SDF and modifying them,
but we receive updates and were looking for a way to avoid the tedious
task of manually inserting the changes.

The tool used is Cadence Incisive Simulator (NC Affirma) version 6.1.
At least modelsim has a TCL command to do the disabling, I would guess
that Candence has also a similar command. SDF check disabling is so
common task normally .

For example in modelsim you could say:

tcheck_set /dut/foo/instance OFF
tcheck_set /dut/foo/instance2 "(HOLD (posedge CLKA) (posedge CLKB))" OFF


--Kim
 
moo...@yahoo.co.uk wrote:
On 24 Oct, 02:14, y_p_w <y_...@hotmail.com> wrote:
Hi all-

Having a quick question that may be difficult to test in real
operation.

We are using an SDF to backannotate our netlist. We're looking to
override specific timing checks (setup/hold) to zero on specific
registers. We were manually going into the SDF and modifying them,
but we receive updates and were looking for a way to avoid the tedious
task of manually inserting the changes.

The tool used is Cadence Incisive Simulator (NC Affirma) version 6.1.

Someone suggested creating a separate SDF file, and using that to
override the setup and hold times for the list of cells by calling
this SDF file last. It seems to compile just fine, but I'm thinking
this could result in several possibilities:

1) The override works as intended - just on the specific SETUP/HOLD
parameters, and any previous annotated timing checks are intact.

2) The override works on the intended cells but all other timing
checks are purged. Doesn't seem likely.

3) It does override, but all other timing checks (that aren't
specified in the new timing definitions) revert back to the default
value in the standard cell.

Any idea what would happen? I guess the other thing we could do is
call our Cadence rep.

Hi,

Generally, when we require this kind of functionality in the past, we
have used a perl script to automatically modify the SDF file.

I don't know why you are trying to change the SDF, but the primary
reason I have done it is to disable timing checks on FF's that form
synchronizers.
That's exactly it. Everything goes haywire once the synchronizers
start propagating X to the rest of the design. We actually tried
overriding it, and seems to be working OK.
 

Welcome to EDABoard.com

Sponsor

Back
Top