JTAG Domain Share
JTAG Domain Share
JTAG Domain Share
20-APRIL-2021
LIANJIANG
[AMD Official Use Only - Internal Distribution Only]
OVERVIEW
‒ JTAG introduction
‒ JTAG DV test
ACRONYM
STAC
Overview
STAC ROUTER
STAC router is used in SOC15 designs to provide a scalable plug-and-play
solution for the IPs using the SCF.
STAC router is very similar in design to the STAC, but has fewer standard
instructions, controls only a 1687A port
required instructions implemented in the STAC Router
JTAG NETWORK
Master TAP
‒ Jtag1687A SIB (Level 1 STAC router, dfx_dft_t. sipr0)
‒ Level 2 STAC router(sipr00-sipr07) -> tile STACs
JTAG NETWORK
BC1500 order
JTAG PIPELINE
Wsi
Design: Flip flop with bypass Mux Wso
DQ DQ
‒ Insert pipeline registers on the WSO/WSI path between
STAC, Routers and the master TAPs
PipelineEn
Usage: Wrck
Wsi Wsi
R07
Wso Wso Wso
Wsi Wsi
Wso
stac stac
JTAG PIPELINE
EXAMPLE
SG4
TDRs defined in SGXML, use Firefox to open.
$STEM/out/linux_2.6.32_64.VCS/arden/common/pub/src/meta/sigdata/sgxml/
arden_A0.sgxml
Event::IEEE1149_1_IR and Event::IEEE1149_1_DR are used.
dut[“SCF_DFT.xxx.xxx.xxx.xx_TDR”][“field0”](value0)
[“field1”](value1).write().apply();
dut[“SCF_DFT.xxx.xxx.xx_TDR”].(TDR_value).write().apply();
dut[“SCF_DFT.xxx.xxx.xx_TDR”].set_measure_value(xx_value);
dut[“SCF_DFT.xxx.xxx.xx_TDR”].read().apply();
CHAIN CHECK
jtag overshift.
JTAG TEST
dfx_jtag_simple
Select 1 stac from each level 2 router .write SHIFT_CNT TDR, read and check.
It’s a sqf/autosmoke test to guarantee/monitor jtag design/tb in good condition.
dfx_jtag_idcode_manid
read and check IDCODE/MANID TDR.
IDCODE need update. http://twiki.amd.com/twiki/bin/view/SIG/IDCODE
MANID no need update, usually read a powerstate.
dfx_bscan_bsrsegment
use the BSRCONFIG TDR to bypass the bscan chain and verify each sub-chain length.
JTAG TEST
dfx_jtag_STAC_*
get stac name from test.dv, write SHIFT_CNT TDR and read back to compare and check
value in RTL. BYP_SCM_SEGMENT/ROS_SETUP access. bc1500 tiles under the stac are also
verified. Designer provide jtag network doc.
GSKT STAC cannot use dfx_jtag_STAC.cpp file. Need additional test cpp file for GSKT.
dfx_jtag_STAC_*_pipeline
Inherited from dfx_jtag_STAC_*, only difference is PIPELINEMODE=1.
dfxip test dfx_stac_pipeline.cpp can substitute for soc pipeline tests, except gasket stac.
Fail example:
DENAVI24DFX-81
DENAVI24DFX-23
JTAG TEST
dfx_overshift_register
This test checks for all the documented Registers inside the SGXML for the following against the below
features against RTL.
a. Opcode decode b. Size of the TDR c. Rest Value of the TDR
In this test a 16bit signature value is appended to the TDR along with the reset shift In value. When the
signature value is shifted out the 16bit value is measured at TDO.
(8'h40 + 16'hDEAD ) --> Shift into TDR - -> Shift out of TDR--> (16'hDEAD + 8’h40)
<RESET_VALUE> + <Overshift Value> <Overshift Value> + <Reset Value>
JTAG TEST
dfx_jtag_*_alttap
program ALTTAPEN for STAC, level2 rounter,level 1 router,MTAP,
then use shift_raw_ir/dr to check IDCODE value of alttap.
use DBREQ_L to exit alttap mode and access mtap tdr.
designer provide alttap list.
dfx_jtag_coolreset
JTAG triggered cool reset and SHIFT_CNT TDR value not be reset.
dfx_jtag_AVFS_TDR_access*
Write AVFS3_MMSTOP_TOP , read and check.
JTAG TEST
dfx_jtag_ccx_*
Write PWRMON , read and check.
dfx_tap_smn_access
Basic test to acces the functional register from JTAG -> AXI path.
dfx_smn_tap_access
access mtap TDR by axi.
dfx_jtag_umc_multicast
dfx’s rsmu support mult-cast for UMC, config one register for umc0 and check
the result for all umcs
refer to 6.9 of remote_smu_mas_arden.docx Index register support