-- 2005/04/05 -- Straw Dog 2.1 BSDL description of a simple 1149.4 device -- This is an 1149.1-compatible BSDL that encodes 1149.4 features. -- Still suitable for use with 1149.1 Interconnect Testing software. entity Straw_Dog_2_1 is generic (PHYSICAL_PIN_MAP : string := "dip"); port( -- TAP pins, as per 1149.1 TCK, TDI, TMS: in bit; TDO: out bit; -- ATAP pins, as per 1149.4 -- = required to be bidir AT1, AT2: inout bit; -- Digital pins, as per 1149.1 -- = type/ direction not restricted A, B: in bit; -- Analog pins, as per 1149.4 -- = required to be bidir W, Y: inout bit; -- Linkage pins, as per 1149.1 NC1, NC2: linkage bit; GND, VCC: linkage bit ); use STD_1149_1_2001.all; -- Get Std 1149.1-2001 attrs and defns use STD_1149_4_2005.all; -- Get MST attributes and definitions attribute COMPONENT_CONFORMANCE of Straw_Dog_2_1 : entity is "STD_1149_1_2001"; attribute PIN_MAP of Straw_Dog_2_1 : entity is PHYSICAL_PIN_MAP; constant dip:PIN_MAP_STRING:= "TCK:6, TDI:5, TMS:8, " & "TDO:9, " & "AT1:11, AT2:10, " & "A:1, B:2, " & "W:13, Y:12, " & "NC1:3, NC2:4, " & "GND:7, VCC:14"; attribute TAP_SCAN_IN of TDI : signal is true; attribute TAP_SCAN_MODE of TMS : signal is true; attribute TAP_SCAN_OUT of TDO : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (20.0e6, BOTH); attribute INSTRUCTION_LENGTH of Straw_Dog_2_1 : entity is 2; attribute INSTRUCTION_OPCODE of Straw_Dog_2_1 : entity is "EXTEST (00), " & "PRELOAD (01), " & "SAMPLE (01), " & "BYPASS (11), " & -- add PROBE instruction, as per 1149.4 -- = opcode may have any value except all ones -- = opcode value all zeros is not recommended (per 1149.1) "PROBE (10) "; attribute INSTRUCTION_CAPTURE of Straw_Dog_2_1 : entity is "01"; attribute REGISTER_ACCESS of Straw_Dog_2_1 : entity is -- add PROBE instruction, as per 1149.4 -- = must access the boundary register "BOUNDARY (EXTEST, PRELOAD, SAMPLE, PROBE), " & "BYPASS (BYPASS)"; attribute BOUNDARY_LENGTH of Straw_Dog_2_1 : entity is 14; attribute BOUNDARY_REGISTER of Straw_Dog_2_1 : entity is -- The following cells (2) are for the digital pins -- num cell port function safe [ccell disval rslt] "0 (BC_1, A, input, x), " & "1 (BC_1, B, input, x), " & -- The following cells (4) are TBIC controls -- num cell port function safe [ccell disval rslt] "2 (BC_7, AT1, bidir, x, 4, 0, Z), " & -- 1149.4 TBIC D1 cell = safe not restricted, disval 0 required, rslt Z (or keeper??) required, must share ccell with AT2 but no other "3 (BC_7, AT2, bidir, x, 4, 0, Z), " & -- 1149.4 TBIC D2 cell = safe not restricted, disval 0 required, rslt Z (or keeper??) required, must share ccell with AT1 but no other "4 (BC_1, *, control, 0), " & -- 1149.4 TBIC Co cell = safe 0 required, must be ccell for AT1 and AT2 but no others - tools may write 0 to disable or write 1 to enable "5 (BC_1, *, internal, 0), " & -- 1149.4 TBIC Ca cell = safe 0 required, must be internal -- The following cells (4) control the Y analog signal -- num cell port function safe [ccell disval rslt] "6 (BC_7, Y, bidir, x, 7, 0, Z), " & -- 1149.4 ABM D cell = safe not restricted, disval 0 required, rslt Z (or keeper?) required "7 (BC_1, *, control, 0), " & -- 1149.4 ABM Co cell = safe 0 required, must be ccell for only one pin - tools may write 0 to disable or write 1 to enable "8 (BC_1, *, internal, 0), " & -- 1149.4 ABM B1 cell = safe 0 required, must be internal - non-1149.4 tools should always write 0 "9 (BC_1, *, internal, 0), " & -- 1149.4 ABM B2 cell = safe 0 required, must be internal - non-1149.4 tools should always write 0 -- The following cells (4) control the W analog signal -- num cell port function safe [ccell disval rslt] "10 (BC_7, W, bidir, x, 11, 0, Z), " & -- 1149.4 ABM D cell = safe not restricted, disval 0 required, rslt Z (or keeper?) required "11 (BC_1, *, control, 0), " & -- 1149.4 ABM C cell = safe 0 required, must be ccell for only one pin - tools may write 0 to disable or write 1 to enable "12 (BC_1, *, internal, 0), " & -- 1149.4 ABM B1 cell = safe 0 required, must be internal - non-1149.4 tools should always write 0 "13 (BC_1, *, internal, 0)"; -- 1149.4 ABM B2 cell = safe 0 required, must be internal - non-1149.4 tools should always write 0 -- Now add extensions for 1149.4 -- Extension declarations are made in the user package named -- "STD_1149_4_2005" -- Extension definitions attribute MST_Component_Conformance of Straw_Dog_2_1 : entity is "STD_1149_4_1999"; attribute MST_ATAP_AT1 of Straw_Dog_2_1 : entity is "AT1"; attribute MST_ATAP_AT2 of Straw_Dog_2_1 : entity is "AT2"; attribute MST_TBIC_Base of Straw_Dog_2_1 : entity is -- TBIC base, as per 1149.4 = ref tables 1 and 2 -- Ca Co D1 D2 "5, 4, 2, 3"; attribute MST_ABM_List of Straw_Dog_2_1 : entity is -- ABMs, as per 1149.4 = ref tables 6, 7, and 8 -- port partition C D B1 B2 "W ( 1, 11, 10, 12, 13), " & "Y ( 1, 7, 6, 8, 9)"; end Straw_Dog_2_1;