the format of these files is as follows:
XlxV | magic start word |
37 | version number |
E or D | Encrypted or Decrypted |
M or B | Mimebase64 or Binary encoded |
even though somefiles have the 'E' for encrypted, they are not encrypted, just compressed, using zlib.
this little perl script will decompress xilinx files.
use like this, as a pipe, reading from stdin, output to stdoutperl xl_decode.pl <encoded.vhdor like this, specifying a src and output file
perl xl_decode.pl encoded.vhd decoded.vhd
ic01 | 741g125 | ( 5 pin chip, near J3 ) |
ic02 | max3232 | rs232 driver |
ic03 | xc2c256 | undoc: coolrunner-II cpld ( vq100 package ) |
ic04 | cy7c68013A | undoc: usb controller ( 100 pin tqfp package ) |
ic05 | 4l08 | undoc: serial eeprom |
ic06 | lan83c185 | ethernet physlayer |
ic07 | tps75003 | triple output power regulator |
ic08 | ltc3412 | sdram voltage regulator |
ic09 | ltc1844es5 | voltage regulator |
ic10 | xc3s500e | spartan3e fpga ( fg320 package ) |
ic11 | xcf04s | platform flash |
ic12 | ds2432 | SHA1 eeprom |
ic13 | xcf04s | (bottom side) not installed ... r100 jumpers over jtag chain |
ic14 | 25p16v6g | serial flash |
ic15 | m25p16 | not installed |
ic16 | sg8002dc | optional |
ic17 | sg8002jf | 50mhz clock |
ic18 | xc2c64a | coolrunner cpld ( vq44 package ) |
ic19 | ltc1407cmse-1 | a/d convertor |
ic20 | ltc6912 | amplifier |
ic21 | ltc2624 | d/a convertor |
ic22 | te28f128 | flash |
ic23 | mt46v32m16tg-6t | sdram |
j01 | - | accesory |
j02 | - | accesory |
j03 | - | io expansion |
j04 | - | accesory |
j05 | - | d/a analog out |
j06 | - | softtouch expansion |
j07 | - | a/d analog in |
j08 | - | next to USB - jtag for xc2c256, layout as j28 |
j09 | - | rs232 female db9 |
j10 | - | rs232 male db9 |
j11 | - | spi jumper select |
j12 | - | spi port |
j13 | ||
j14 | - | ps2 keybd connector |
j15 | - | vga port |
j16 | - | 1200e/1600e expansion header |
j17 | - | external clock source |
j18 | - | usb/program interface |
j19 | - | ethernet |
j20 | - | power |
j21 | x | - one pin Vcc |
j22 | - | battery |
j23 | x | - one pin, 2.5 V |
j24 | x | - one pin, 1.2 V |
j25 | x | - one pin, 1.25 V - ddr |
j26 | x | - one pin, 2.5 V - ddr |
j27 | x | - one pin, 1.8 V - near usb |
j28 | - | jtag |
j29 | - | ?init/xc-done |
j30 | - | fpga mode select jumpers |
j31 | - | jumper storage |
jp01 | [storage] near power switch | |
jp02 | [storage] near J3 | |
jp03 | [storage] above 'smsc' text | |
jp04 | x | / near display - connects ic4.pe1 to ground |
jp05 | x | / near usb - jumpers over r35, in i2c data line |
jp06 | current sense | |
jp07 | current sense | |
jp08 | - | prog_b - when programming via xspi |
jp09 | - | io power select |
jp10 | - | xc-wdt_en select |
j28.tdi --[100ohm]--->[xc3s500e]>--->[xcf04s]>--+->[xcf04s]>-+-->[xc2c64a]>----[IC1]--+- j28.tdo | | | | +---[R100]---+ j3.jtsel j3.tdo R30 --- TCK R29 --- TMSjtag from ic03 is connected to io-pins of ic04 main jtag chain is connected to io-pins of ic03