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.

insert bsd using TDI/TDO on bidirectional ports

Status
Not open for further replies.

dasnake

Newbie level 2
Joined
Dec 15, 2010
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,309
Hello all,

I have a project with some inputs symmetrical to outputs along an horizontal axis. I also have a pin to mirror all the pins: it exchange the direction of all pins (and their internal paths).
Now I want to add the boundary scan register but also TDI <-> TDO have this possibility to be swapped.
To be clear: I have a bidirectional tdo port with tdo as input and tdi_0 as output, a bidirectional tdi port with tdo as input and tdi_1 as output, then a mux to select between tdi_0 and tdi_1. The mirroring signal control the mux selection as well as the output enables of the tdi and tdo ports.

During BSD insertion (DFT , using Design Compiler) I have some problems.

If I try to specify
set_dft_signal -view spec -type TDI -port tdi -hookup_pin [get_pins U60/Z]
set_dft_signal -view spec -type TDO -port tdo -hookup_pin [get_pins OUT_TDO/I]

Where U60 is the mux.

It complains about TDI and TDO not being vaild:

Warning: Data propagation from Tap port tdi to Tap hookup pin U60/Z failed.
Warning: Hookup pin(OUT_TDO/I) of TAP port(tdo) has an unknown value 'X'.
Warning: Pad pin(OUT_TDO/C) has an unknown value 'X'.
Error: TDO port(tdo) is not a valid TAP port. (TEST-439)

My understanding is that I should specify a value for the mirroring signal, but:
- if I set it on the mirroring signal port (ie. with set_bsd_compliance) it fix the direction of all other input/outputs while I want them treated as bidirectional
- still it complains about Pad pin OUT_TDO/C having an unknown value even if input enable for that pad (C is the output of the pad to the core logic) is disabled

I would like to specify the direction only of the tdi tdo ports but I don't know how, set_case_analysis seems to affect only timing analysis ...

I feel a bit stuck, someone has ever had similar problems?
 

The scan insertion tool looks to have the pad in the correct direction when the dut is in scan mode. Then you need to define the dft constrain(s) that define the dut in scan mode and the rtl will define the input & output enables with the correct value.
 

The scan insertion tool looks to have the pad in the correct direction when the dut is in scan mode.

Even if I put the input/ouput enables in a defined state it complains about OUT_TDO/C , which shouldn't be as OUT_TDO is the output tdo pad (if the chip is not mirrored). It seems that the only when I unconnect OUT_TDO/C it stops to care and set the pad in the right direction.

Then you need to define the dft constrain(s) that define the dut in scan mode and the rtl will define the input & output enables with the correct value.

By dft constraint(s) do you mean by set_bsd_compliance command? But I want the bsd register to treat the other mirrorable pads as bidirectional, it must just set the direction on the tdi/tdo ports.

Is it not possible to specify tdi and tdo on internal pins instead of ports? The ideal situation is to let him use the output of the mux and the internal tdo signal (going to both tdi/tdo pads) without caring about the ports.

This is my first attempt at dft insertion, sorry if I'm a bit confused.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top