dasnake
Newbie level 2
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?
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?