#---------------------------------------------------------------------
# XPART.DEF 
#
# This file is used by XCHECKER to define Xilinx Part Specs
# The information is extracted from the Xilinx Reference Manual
#
# @(#)xpart.def	7.4 12/13/94 
#
# 04/09/91 _ Original Creation
# 04/10/92 - Add XC4010 Part
# 09/01/92 - Add CLB1 info
# 11/21/94 - Remove size and replace it with nrpostamble
#---------------------------------------------------------------------
# File Format:
# Each part consists of 16 elements defined as:
#  1. PartName:        name of new part, for example XC4010
#  2. Class:           Class 3 or 4
#  3. #Header:         Header size in bits (.bit file data)
#  4. #Preamble, #Postamble: 
#                      Number of preamble and postamble bits 
#                      (.bit file data)
#  6. NCols, NRows:
#                      Number of bits per frame and number of
#                      frame per part. Bits per frame should also
#                      include # of stops & # starts
#  8. #Start, #Stop:
#                      Number of start and stop bits
# 10. #rPreamble:      Readback preamble bit        
# 11. #rStart, #rStop: Readback start/stop bits
# 13. #nrPostamble:    Readback postamble bits
# 14. #XCLB, #YCLB:    Matrix size of CLBs
# 16. #IOB:            Number of IOBs
#  
#-----1---2----3---4---5----6-----7--8--9--0--1--2---3---4---5----6         
#
# 4K DEVICES
# 1. Config .bit format:
#       Fill byte       FF
#       Preamble        0010      
#       Length Counter  24 bits
#       Fill bits       1111
#       --- 
#       Start bit       0
#       DataFrame       DATA(N-1:0)
#       StopBits        0000
#       ---
#       Postamble       0111 1111
# 2. Readback format:
#       FillBits        11111
#       ---
#       StartBit        0
#       DataFrame       DATA(N-1:0)
#       StopBits        1111
#       ---
#       Postamble       0
#       CRC             CRC(10:0)
# 
# 3. When reading back, Xchecker hardware introduces 2 extra bits at
#    the beginning of readback.
# 4. Data is not inverted like 2/3K
# 5. The first 2 bits of the first frame are always '1'
# 6. The last 7 bits of the last frame are also '1'
#
# Samples for each families:
#XC2018,   2,  40, 4,  4,  91,   196, 1, 3, 2, 1, 1, 12, 10, 10, 74
#XC3020,   3,  40, 4,  4,  75,   197, 1, 3, 2, 1, 1, 12,  8,  8, 64
#XC3120,   3,  40, 4,  4,  75,   197, 1, 3, 2, 1, 1, 12,  8,  8, 64
#XC4010,   4,  40, 4,  8, 226,   788, 1, 4, 5, 1, 4, 12, 20, 20, 160
#XC4005H,  4,  40,  4,  8, 166,  572, 1, 4, 5, 1, 4, 12, 14, 14, 112
#XC4003A,  4,  40,  4,  8, 122,  374, 1, 4, 5, 1, 4, 12, 10, 10,  80
#XC3020A,  3,  40, 4,  4,  75,   197, 1, 3, 2, 1, 1, 12,  8,  8, 64,
#XC3020L,  3,  40, 4,  4,  75,   197, 1, 3, 2, 1, 1, 12,  8,  8, 64,
#XC2064L,  2,  40, 4,  4,  75,   160, 1, 3, 2, 1, 1, 12,  8,  8, 58, 0,
#XC3120A,  3,  40, 4,  4,  75,   197, 1, 3, 2, 1, 1, 12,  8,  8, 64, 0,
#XC4025,   4,  40, 4,  4, 346,  1220, 1, 4, 5, 1, 4, 12, 32, 32, 256,0, 
#
# ALBERT
# 1. Config Unified .bit format:
#       Fill byte       FF
#       Preamble        F2      
#       Length Counter  24 bits
#       Fill Byte       FF
#       --- 
#       Start Byte      FE
#       DataFrame       DATA(N12:0)
#       StopBits        01101111
#       Extend Write    FF FF FF (makebits 5.0.11g dev)
#       ---
#       Postamble       FE
#       Fill Bytes      FF FF FF
# 2. Readback format:
#       FillBits        111
#       FillBytes       FF FF FF FF
#       ---
#       StartByte       FE
#       DataFrame       DATA(N12:0)
#       StopByte        FF FF
#       ---
#       Postamble       FE
#       CRC             CRC(15:0)
#       FillByte        FF 1       
# 
# 3. When reading back, Xchecker hardware introduces 2 extra bits at
#    the beginning of readback.
# 4. Data is not inverted like 2/3K
#
XC5206,   5,  48, 8,  8, 576, 184, 8, 32, 36, 8, 16, 32, 14, 14, 256,0, 
XC5210,   5,  48, 8,  8, 712, 232, 8, 32, 36, 8, 16, 32, 18, 18, 256,0, 
#
# EOF
#

