-- $ XILINX$RCSfile: xc2c32_vq44_1532.bsd,v $
-- $ XILINX$Revision: 1.1 $
--
-- BSDL file for device xc2c32, package vq44
-- Xilinx, Inc. $State: ADVANCED $ $Date: 2002-03-06 12:01:18-08 $
-- Generated by createBSDL_br 2.2c
-- =================================================
-- North American Support
-- (Mon,Tues,Wed,Fri 6:30am-5pm
-- Thr 6:30am - 4:00pm Pacific Standard Time)
-- Hotline: 1-800-255-7778
-- or (408) 879-5199
-- Fax: (408) 879-4442
-- Email: hotline@xilinx.com
-- United Kingdom Support
-- (Mon-Fri 08:00 to 17:30 GMT)
-- Hotline: +44 870 7350 610
-- Fax: +44 870 7350 620
-- Email : eurosupport@xilinx.com
--
-- France Support
-- (Mon-Fri 08:00 to 17:30 GMT)
-- Hotline: +33 1 3463 0100
-- Fax: +44 870 7350 620
-- Email : eurosupport@xilinx.com
--
-- Germany Support
-- (Mon-Fri 08:00 to 17:30 GMT)
-- Hotline: +49 180 3 60 60 60
-- Fax: +44 870 7350 620
-- Email : eurosupport@xilinx.com
-- Sweden Support
-- (Mon-Fri 08:00 to 17:30 GMT)
-- Hotline: +46 8 33 14 00
-- Fax: +44 870 7350 620
-- Email : eurosupport@xilinx.com
--
-- Japan Support
-- (Mon,Tues,Thu,Fri 9:00am -5:00pm ()
-- Wed 9:00am -4:00pm)
-- Hotline: (81)3-3297-9163
-- Fax:: (81)3-3297-0067
-- Email: jhotline@xilinx.com
-- =================================================
--
entity XC2C32_VQ44 is
generic (PHYSICAL_PIN_MAP : string := "UNDEFINED");
port ( tdi : in bit;
tck : in bit;
tms : in bit;
tdo : out bit;
IN_16 : in bit;
IO_0 : inout bit;
IO_1 : inout bit;
IO_2 : inout bit;
IO_3 : inout bit;
IO_4 : inout bit;
IO_5 : inout bit;
IO_6 : inout bit;
IO_7 : inout bit;
IO_8 : inout bit;
IO_9 : inout bit;
IO_10 : inout bit;
IO_11 : inout bit;
IO_12 : inout bit;
IO_13 : inout bit;
IO_14 : inout bit;
IO_15 : inout bit;
IO_17 : inout bit;
IO_18 : inout bit;
IO_19 : inout bit;
IO_20 : inout bit;
IO_21 : inout bit;
IO_22 : inout bit;
IO_23 : inout bit;
IO_24 : inout bit;
IO_25 : inout bit;
IO_26 : inout bit;
IO_27 : inout bit;
IO_28 : inout bit;
IO_29 : inout bit;
IO_30 : inout bit;
IO_31 : inout bit;
IO_32 : inout bit);
use std_1149_1_1994.all;
use STD_1532_2001.all;
attribute COMPONENT_CONFORMANCE of XC2C32_VQ44 : entity is "std_1149_1_1993";
attribute PIN_MAP of XC2C32_VQ44 : entity is PHYSICAL_PIN_MAP;
constant UNDEFINED : PIN_MAP_STRING :=
" tdi:9, tck:11, tms:10, tdo:24,IN_16:18," &
" IO_0:38, IO_1:37, IO_2:36, IO_3:34, IO_4:33," &
" IO_5:32, IO_6:31, IO_7:30, IO_8:29, IO_9:28," &
" IO_10:27, IO_11:23, IO_12:22, IO_13:21, IO_14:20," &
" IO_15:19, IO_17:39, IO_18:40, IO_19:41, IO_20:42," &
" IO_21:43, IO_22:44, IO_23:1, IO_24:2, IO_25:3," &
" IO_26:5, IO_27:6, IO_28:8, IO_29:12, IO_30:13," &
" IO_31:14, IO_32:16";
attribute TAP_SCAN_IN of tdi : signal is true;
attribute TAP_SCAN_CLOCK of tck : signal is (10.0e6, both);
attribute TAP_SCAN_MODE of tms : signal is true;
attribute TAP_SCAN_OUT of tdo : signal is true;
attribute INSTRUCTION_LENGTH of XC2C32_VQ44 : entity is 8;
attribute INSTRUCTION_OPCODE of XC2C32_VQ44 : entity is
"BYPASS (11111111)," &
"SAMPLE (00000011)," &
"EXTEST (00000000)," &
"IDCODE (00000001)," &
"USERCODE (11111101)," &
"INTEST (00000010)," &
"HIGHZ (11111100)," &
"ISC_ENABLE_CLAMP (11101001)," &
"ISC_ENABLEOTF (11100100)," &
"ISC_ENABLE (11101000)," &
"ISC_SRAM_READ (11100111)," &
"ISC_SRAM_WRITE (11100110)," &
"ISC_ERASE (11101101)," &
"ISC_PROGRAM (11101010)," &
"ISC_READ (11101110)," &
"ISC_INIT (11110000)," &
"ISC_DISABLE (11000000)," &
"TEST_ENABLE (00010001)," &
"BULKPROG (00010010)," &
"ERASE_ALL (00010100)," &
"MVERIFY (00010011)," &
"TEST_DISABLE (00010101)," &
"STRTEST (00010110)," &
"ISC_NOOP (11100000)";
attribute INSTRUCTION_PRIVATE of XC2C32_VQ44 : entity is
"BULKPROG, MVERIFY, ERASE_ALL, TEST_ENABLE, TEST_DISABLE,STRTEST";
attribute INSTRUCTION_CAPTURE of XC2C32_VQ44 : entity is "XXXXXX01" ;
attribute IDCODE_REGISTER of XC2C32_VQ44 : entity is "00000110110000011100000010010011";
attribute USERCODE_REGISTER of XC2C32_VQ44 : entity is "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
attribute REGISTER_ACCESS of XC2C32_VQ44 : entity is
"BOUNDARY (SAMPLE)," &
"BOUNDARY (EXTEST)," &
"DEVICE_ID (IDCODE, USERCODE)," &
"BOUNDARY (INTEST)," &
"ISC_Default[1] (ISC_ENABLE_CLAMP)," &
"DATAREG[260] (ISC_ENABLEOTF)," &
"DATAREG[260] (ISC_ENABLE)," &
"DATAREG[260] (ISC_SRAM_READ)," &
"DATAREG[260] (ISC_SRAM_WRITE)," &
"DATAREG[260] (ISC_ERASE)," &
"DATAREG[260] (ISC_PROGRAM)," &
"DATAREG[260] (ISC_READ)," &
"DATAREG[260] (ISC_INIT)," &
"DATAREG[260] (ISC_DISABLE)," &
"ISC_Default[1] (ISC_NOOP)";
attribute BOUNDARY_LENGTH of XC2C32_VQ44 : entity is 97;
attribute BOUNDARY_REGISTER of XC2C32_VQ44 : entity is
--
-- num cell port function safe [ccell disval rslt]
--
" 96 (BC_1, IO_0, INPUT, X)," &
" 95 (BC_1, IO_0, OUTPUT3, X, 94, 0,Z),"&
" 94 (BC_1, *, CONTROL, X)," &
" 93 (BC_1, IO_1, INPUT, X)," &
" 92 (BC_1, IO_1, OUTPUT3, X, 91, 0,Z),"&
" 91 (BC_1, *, CONTROL, X)," &
" 90 (BC_1, IO_2, INPUT, X)," &
" 89 (BC_1, IO_2, OUTPUT3, X, 88, 0,Z),"&
" 88 (BC_1, *, CONTROL, X)," &
" 87 (BC_1, IO_3, INPUT, X)," &
" 86 (BC_1, IO_3, OUTPUT3, X, 85, 0,Z),"&
" 85 (BC_1, *, CONTROL, X)," &
" 84 (BC_1, IO_4, INPUT, X)," &
" 83 (BC_1, IO_4, OUTPUT3, X, 82, 0,Z),"&
" 82 (BC_1, *, CONTROL, X)," &
" 81 (BC_1, IO_5, INPUT, X)," &
" 80 (BC_1, IO_5, OUTPUT3, X, 79, 0,Z),"&
" 79 (BC_1, *, CONTROL, X)," &
" 78 (BC_1, IO_6, INPUT, X)," &
" 77 (BC_1, IO_6, OUTPUT3, X, 76, 0,Z),"&
" 76 (BC_1, *, CONTROL, X)," &
" 75 (BC_1, IO_7, INPUT, X)," &
" 74 (BC_1, IO_7, OUTPUT3, X, 73, 0,Z),"&
" 73 (BC_1, *, CONTROL, X)," &
" 72 (BC_1, IO_8, INPUT, X)," &
" 71 (BC_1, IO_8, OUTPUT3, X, 70, 0,Z),"&
" 70 (BC_1, *, CONTROL, X)," &
" 69 (BC_1, IO_9, INPUT, X)," &
" 68 (BC_1, IO_9, OUTPUT3, X, 67, 0,Z),"&
" 67 (BC_1, *, CONTROL, X)," &
" 66 (BC_1, IO_10, INPUT, X)," &
" 65 (BC_1, IO_10, OUTPUT3, X, 64, 0,Z),"&
" 64 (BC_1, *, CONTROL, X)," &
" 63 (BC_1, IO_11, INPUT, X)," &
" 62 (BC_1, IO_11, OUTPUT3, X, 61, 0,Z),"&
" 61 (BC_1, *, CONTROL, X)," &
" 60 (BC_1, IO_12, INPUT, X)," &
" 59 (BC_1, IO_12, OUTPUT3, X, 58, 0,Z),"&
" 58 (BC_1, *, CONTROL, X)," &
" 57 (BC_1, IO_13, INPUT, X)," &
" 56 (BC_1, IO_13, OUTPUT3, X, 55, 0,Z),"&
" 55 (BC_1, *, CONTROL, X)," &
" 54 (BC_1, IO_14, INPUT, X)," &
" 53 (BC_1, IO_14, OUTPUT3, X, 52, 0,Z),"&
" 52 (BC_1, *, CONTROL, X)," &
" 51 (BC_1, IO_15, INPUT, X)," &
" 50 (BC_1, IO_15, OUTPUT3, X, 49, 0,Z),"&
" 49 (BC_1, *, CONTROL, X)," &
" 48 (BC_1, IO_17, INPUT, X)," &
" 47 (BC_1, IO_17, OUTPUT3, X, 46, 0,Z),"&
" 46 (BC_1, *, CONTROL, X)," &
" 45 (BC_1, IO_18, INPUT, X)," &
" 44 (BC_1, IO_18, OUTPUT3, X, 43, 0,Z),"&
" 43 (BC_1, *, CONTROL, X)," &
" 42 (BC_1, IO_19, INPUT, X)," &
" 41 (BC_1, IO_19, OUTPUT3, X, 40, 0,Z),"&
" 40 (BC_1, *, CONTROL, X)," &
" 39 (BC_1, IO_20, INPUT, X)," &
" 38 (BC_1, IO_20, OUTPUT3, X, 37, 0,Z),"&
" 37 (BC_1, *, CONTROL, X)," &
" 36 (BC_1, IO_21, INPUT, X)," &
" 35 (BC_1, IO_21, OUTPUT3, X, 34, 0,Z),"&
" 34 (BC_1, *, CONTROL, X)," &
" 33 (BC_1, IO_22, INPUT, X)," &
" 32 (BC_1, IO_22, OUTPUT3, X, 31, 0,Z),"&
" 31 (BC_1, *, CONTROL, X)," &
" 30 (BC_1, IO_23, INPUT, X)," &
" 29 (BC_1, IO_23, OUTPUT3, X, 28, 0,Z),"&
" 28 (BC_1, *, CONTROL, X)," &
" 27 (BC_1, IO_24, INPUT, X)," &
" 26 (BC_1, IO_24, OUTPUT3, X, 25, 0,Z),"&
" 25 (BC_1, *, CONTROL, X)," &
" 24 (BC_1, IO_25, INPUT, X)," &
" 23 (BC_1, IO_25, OUTPUT3, X, 22, 0,Z),"&
" 22 (BC_1, *, CONTROL, X)," &
" 21 (BC_1, IO_26, INPUT, X)," &
" 20 (BC_1, IO_26, OUTPUT3, X, 19, 0,Z),"&
" 19 (BC_1, *, CONTROL, X)," &
" 18 (BC_1, IO_27, INPUT, X)," &
" 17 (BC_1, IO_27, OUTPUT3, X, 16, 0,Z),"&
" 16 (BC_1, *, CONTROL, X)," &
" 15 (BC_1, IO_28, INPUT, X)," &
" 14 (BC_1, IO_28, OUTPUT3, X, 13, 0,Z),"&
" 13 (BC_1, *, CONTROL, X)," &
" 12 (BC_1, IO_29, INPUT, X)," &
" 11 (BC_1, IO_29, OUTPUT3, X, 10, 0,Z),"&
" 10 (BC_1, *, CONTROL, X)," &
" 9 (BC_1, IO_30, INPUT, X)," &
" 8 (BC_1, IO_30, OUTPUT3, X, 7, 0,Z),"&
" 7 (BC_1, *, CONTROL, X)," &
" 6 (BC_1, IO_31, INPUT, X)," &
" 5 (BC_1, IO_31, OUTPUT3, X, 4, 0,Z),"&
" 4 (BC_1, *, CONTROL, X)," &
" 3 (BC_1, IO_32, INPUT, X)," &
" 2 (BC_1, IO_32, OUTPUT3, X, 1, 0,Z),"&
" 1 (BC_1, *, CONTROL, X)," &
" 0 (BC_1, IN_16, INPUT, X)";
-- Following atribute is specific only to ISC_ENABLE Instruction
attribute ISC_PIN_BEHAVIOR of XC2C32_VQ44 : entity is "HIGHZ";
-- If ISC_ENABLE_CLAMP is executed instead of ISC_ENABLE, previous attribute
-- should be replaced with (clamp value depends on the preconditioning)
-- attribute ISC_PIN_BEHAVIOR of XC2C32_VQ44 : entity is "CLAMP"
-- If ISC_ENABLE_OTF is executed instead of ISC_ENABLE, all device pins will
-- behave as previously programmed and would therefore be all indicated as
-- fixed system pins. You should uncomment the following attribute:
--
-- attribute ISC_FIXED_SYSTEM_PINS of XC2C32_VQ44 : entity is
-- IO_0, IO_1, IO_2, IO_3, IO_4, IO_5, IO_6, IO_7, IO_8, IO_9, IO_10,
-- IO_11, IO_12, IO_13, IO_14, IO_15, IO_17, IO_18, IO_19, IO_20, IO_21, IO_22, IO_23, IO_24, IO_25, IO_26,
-- IO_27, IO_28, IO_29, IO_30, IO_31, IO_32, IN_16;
attribute ISC_STATUS of XC2C32_VQ44 : entity is "NOT IMPLEMENTED";
attribute ISC_BLANK_USERCODE of XC2C32_VQ44 : entity is "11111111111111111111111111111111";
attribute ISC_FLOW of XC2C32_VQ44 : entity is
-- program device
"flow_program(array)" &
"initialize" &
"(ISC_PROGRAM 6 :$addr=0,252:? wait 10e-3)" &
"Repeat 49 "&
"(ISC_PROGRAM 6 :$addr+1,252:? wait 10e-3)," &
-- verify device
"flow_verify(array) " &
"initialize " &
"(ISC_VERIFY 252:0, 6:$addr=0 wait tck 1 252:$data?, 6:0*0)" &
"Repeat 49 "&
"(ISC_VERIFY 252:0, 6:$addr+1 wait tck 1 252:$data?, 6:0*0)," &
-- read device
"flow_read(array) " &
"initialize " &
"(ISC_VERIFY 252:0, 6:$addr=0 wait tck 1 252:!, 6:0*0)" &
" Repeat 49 "&
"(ISC_VERIFY 252:0, 6:$addr+1 wait tck 1 252:!, 6:0*0)," &
-- program SRAM
"flow_sram_write(array) " &
"initialize " &
"(ISC_SRAM_WRITE 252:?, 6:$addr=0 wait 10e-3)" &
" Repeat 49 "&
"(ISC_SRAM_WRITE 252:?, 6:$addr+1 wait 10e-3)," &
-- verify SRAM
"flow_sram_read(array) " &
"initialize " &
"(ISC_SRAM_READ 252:0, 6:$addr=0 wait tck 1 252:!, 6:0*0)" &
" Repeat 49 "&
"(ISC_SRAM_READ 252:0, 6:$addr+1 wait tck 1 252:!, 6:0*0)," &
-- verify IDCODE
"flow_verify(idcode) " &
"initialize " &
"(IDCODE wait tck 1 32:00000110110000011100000010010011), " &
-- verify USERCODE blank device
"flow_verify(usercode) " &
"initialize " &
"(USERCODE wait tck 1 32:FFFFFFFF), " &
-- read USERCODE blank device
"flow_verify(usercode) " &
"initialize " &
"(USERCODE wait tck 1 32:!), " &
-- erase device
"flow_erase " &
"initialize " &
"(ISC_ERASE wait 100E-3), " &
-- erase verify
"flow_erase_verify(array) " &
"initialize " &
"(ISC_VERIFY 252:0, 6:$addr=0 wait tck 1 252:" &
"FFFFFFFFFFFFFFFFFFF" &
"FFFFFFFFFFFFFFFFFFFF" &
"FFFFFFFFFFFFFFFFFFFF" &
"FFFF, 6:0*0)" &
" Repeat 49 "&
"(ISC_VERIFY 252:0, 6:$addr+1 wait tck 1 252:" &
"FFFFFFFFFFFFFFFFFFF" &
"FFFFFFFFFFFFFFFFFFFF" &
"FFFFFFFFFFFFFFFFFFFF" &
"FFFF, 6:0*0)" &
-- ISC MODE can be enabled with any of the following three flows
-- enable ISC mode (outputs are HIGHZ)
"flow_enable_highz " &
"initialize " &
"(ISC_ENABLE wait tck 1), " &
-- enable ISC mode (outputs are CLAMP)
"flow_enable_clamp " &
"initialize " &
"(ISC_ENABLE_CLAMP wait tck 1), " &
-- enable ISC mode (outputs are ACTIVE)
"flow_enable_active " &
"initialize " &
"(ISC_ENABLE_OTF wait tck 1), " &
-- disable ISC mode (disables all three ISC modes)
"flow_disable " &
"initialize " &
"(ISC_DISABLE wait tck 1), " &
-- reinitialize device
"flow_reinit " &
"initialize " &
"(ISC_INIT wait 100E-3)";
attribute ISC_PROCEDURE of XC2C32_VQ44 : entity is
"proc_verify(idcode) = (flow_verify(idcode)), " &
"proc_verify(usercode) = (flow_verify(usercode)), " &
"proc_verify(array) = (flow_verify(array))," &
"proc_read(array) = (flow_read(array))," &
"proc_disable = (flow_disable), "&
"proc_reinit = (flow_reinit), "&
"proc_enable = (flow_enable_highz), "&
"proc_enable_clamp = (flow_enable_clamp), "&
"proc_enable_active = (flow_enable_active), "&
"proc_error_exit = (flow_disable), "&
"proc_program(array) = (flow_program(array), "&
"proc_verify(array) = (flow_verify(array)), " &
"proc_sram_write(array) = (flow_sram_write(array)), " &
"proc_sram_read(array) = (flow_sram_read(array)), " &
"proc_erase = (flow_erase), " &
"proc_blank_check(array)= (flow_erase_verify(array)), " &
"proc_isc_exit = (flow_disable)";
attribute ISC_ACTION of XC2C32_VQ44 : entity is
"erase = (proc_verify(idcode) recommended, " &
" proc_enable, " &
" proc_erase, " &
" proc_blank_check optional, " &
" proc_reinit, " &
" proc_disable), " &
"program = (proc_verify(idcode) recommended, " &
" proc_enable, " &
" proc_erase, " &
" proc_blank_check(array) optional, " &
" proc_program(array), " &
" proc_verify(array) optional, " &
" proc_reinit, " &
" proc_disable), " &
-- When using program_clamp the PIN_BEHAVIOR is CLAMP
"program_clamp = (proc_verify(idcode) recommended, " &
" proc_enable_clamp, " &
" proc_erase, " &
" proc_blank_check(array) optional, " &
" proc_program(array), " &
" proc_verify(array) optional, " &
" proc_reinit, " &
" proc_disable), " &
-- When using program_active all IOs behave as fixed pins
"program_active = (proc_verify(idcode) recommended, " &
" proc_enable_active, " &
" proc_sram_write(array), " &
" proc_reinit, " &
" proc_disable), " &
"verify = (proc_verify(idcode) recommended, " &
" proc_enable, " &
" proc_verify(array), " &
" proc_reinit, " &
" proc_disable), " &
"read = (proc_verify(idcode) recommended, " &
" proc_enable, " &
" proc_read(array), " &
" proc_reinit, " &
" proc_diable)";
attribute ISC_DESIGN_WARNING of XC2C32_VQ44: entity is
"When using the ACTION: program_clamp, the PIN_BEHAVIOR is CLAMP. " &
"For correctness, the BSDL should be modified to indicate this. " &
"When using the ACTION: program_active, the pins behave as previously " &
"programmed. This makes all device IO's effectively behave as fixed pins.";
end XC2C32_VQ44;