Professional Documents
Culture Documents
If you see in above there is a latch in between , this is correct so sometimes tool gives fake
violation
Similarly if you see above image, there is no lookup latch in between the clk crossing . so this we
checked and verified.
Getting the data for clk and its driven flops count
Usually in intest (wrp_if) mode clk mixing was done so chain balancing was easy to do no.s of
flops by edt chains.
But in extest (wrp_of) mode clk mixing is ont allowed so clk flops should connected to one chain
so for some blocks extra port was generated of balancing was not possible so to get the number
of clk and flops of corresponding clk we took atpg scan_cell report and sorted with the clk
names and took the details of number of clk and flops connected to it.
wrap
core per
co inter wrap inter
re nal per nal
ar ed chai edt chai
block ch clock t ff ns ff ns
3b
-
bpss_pegas PI 33 152
us_part P gclk_pegasus_clk_pegasus0_lx7_core3 12 0 270 60
3b
-
bpss_pegas PI feedthrough_bpss_noc_part_va_to_bpss_pegasus_p 152
us_part P art_bpss_clk_sysm_monmux_i_i 8 0 6 60
3b
-
bpss_pegas PI 46 152
us_part P gclk_pegasus_dtcm_mux_pegasus_lx7 0 0 74 60
Reading the ctl chain and attaching it to the edt regular chain
We started reading the analog ip ctl to the design but tool was not able to read the ctl to its
corresponding analog ips present in the block
Below is the command used in the user_dft.tcl to read the ctl
set user_defined_ctl_list [list \
dft_wrapper_bandgap
/p/hdk/rtl/ip_releases/whdk/xg816/sip/dfx_collaterals_816/latest/common_dft_rtl/ana
log_dft_wrapper/ctl/dft_wrapper_bandgap.ctl ]
mistake we did in the above command we dint give correct module name of the analog ip so I
was not able to read and attach the ctl
*dft_wrapper_bandgap*
/p/hdk/rtl/ip_releases/whdk/xg816/sip/dfx_collaterals_816/latest/common_dft_rtl/ana
log_dft_wrapper/ctl/dft_wrapper_bandgap.ctl
ppu_top_dft_wrapper_ipn7mtgviewpin_0
/p/hdk/rtl/ip_releases/whdk/xg816/sip/dfx_collaterals_816/latest/common_dft_rtl/ana
log_dft_wrapper/ctl/dft_wrapper_ip731_viewpin.ctl
you can see for few module *module* worked and for few I went inside netlist to check the
module name and added into the tcl so it worked. using the instance name we searched for its
module.
Since analog ctl was having only one chain with pulse_enable_reg and shift regs. Only pulse
enable need to be added in the chain so we intimated to make two chains.
Above if you see si and so will be connected to the edt regular since from si to so we see both
pulse enable and shift reg. we dint use this ctl.
And in few ctl there some mismatch in the ports and port numbers so tool was not attaching
those ctl to the design.
Other than DRC check done in above script(except highlighted) many info is present as below
There should be on latch in between the two regs since the both clk names are difference.
So we check its clock pin in the block and we compared the two clk pins whether it getting clk
from common source , this we can do in iclock table where it has all details about clock.
If it is of same source then we will make it has fake violatioin.
If the source are difference , then we will should add one lockup in between in eco fix.
Usually for cscc chain and all if you see inside the ctl itself there is a terminal lockup at the first
and last so when these chains are connected to the edt terminal lockup latch is not required. So
we can consider this as a fake violation.
If there is regular chains means this should be be fixed.