Skip to content

Latest commit

 

History

History
205 lines (173 loc) · 10.7 KB

bitstream_format.rst

File metadata and controls

205 lines (173 loc) · 10.7 KB

Bitstream format

Basic Structure

Bitstream file starts with comment section, that contains plain text with metadata about project. It finishes with empty line.

Example:

# Anlogic Infotech Corporation ASCII Bitstream
# Version: 4.2.885
# Design name: system
# Architecture: eagle_s20
# Package: BG256
# Date: 2018/11/14 10:50
# Bitstream CRC: 0111010001100000
# USER CODE: 00000000000000000000000000000000

After that data is packed in blocks. Before each block there is a 16 bit big-endian value containing size in bits of block data.

Example:

Size Data
0080 ffffffffffffffffffffffffffffffff
0080 ffffffffffffffffffffffffffffffff
0020 cc55aa33
0050 f00000060a014c35a3bd
0050 c20000066900050089a5

First three blocks are presenting bitstream start signature. Data also finish with thwo all-ff blocks.

Command Flag Size Data (CRC if flag 0) Description
f0 00 0006 0a014c35 a3bd Device ID
c2 00 0006 69000500 89a5 CFG_1
c3 00 0006 d0b04bb0 43f3 CFG_2
c7 00 0006 04eb01e8 2ac6 FRAMES
c8 00 0006 00000480 9888
c1 00 0006 00000000 13be VERSION_UCODE
ca 00 0006 00000000 a384
c5 00 0006 00000038 c333
f1 00 0004 0000 78af RESET_CRC
f3 00 00a0 xxxxxxxx xxxx
ec f0 0001 This is number of blocks to follow + 1 block of 78 zeros
f7 00 0004 0000 e8aa Done

CRC algorithm used is: CRC-16/BUYPASS

Family : AL3

FRAMES:1075 BYTES_PER_FRAME:257 (2056 bits) BYTES_PER_MEM_FRAME:1152 (9216 bits)

Device Part Package Device ID
AL3A06LG144C7 al3_6 LQFP144 10006c31
AL3A06BG256C7 al3_6 BGA256 10006c31
AL3A10LG144C7 al3_10 LQFP144 18006c31
AL3A10BG256C7 al3_10 BGA256 18006c31
AL3A10BG256B al3_10 BGA256B 14006c31
AL3S10LG144 al3_s10 LQFP144 12006c31 *
AL3S10NG88 al3_s10 QFN88 12006c31 *
AL3A10NG88 al3_s10 QFN88 12006c31 *

* device id not written in bitstream at all

Family : EF1

Device Part Package Device ID
EF1L300LG100 elf_3 LXLQFP100 112d0c33
EF1A300LG100 elf_3 AMLQFP100 152d0c33
EF1A300LG44 elf_3 AMLQFP44 122d0c33
EF1L650LG100 elf_6 LXLQFP100 012d0c33
EF1L650LG144 elf_6 LXLQFP144 002d0c33
EF1A650LG100 elf_6 AMLQFP100 052d0c33
EF1A650LG144 elf_6 AMLQFP144 042d0c33

Family : EF2

FRAMES:765 BYTES_PER_FRAME:204 (1632 bits) BYTES_PER_MEM_FRAME:1152 (9216 bits)

Device Part Package Device ID
EF2L15LG100B ef2_1 EF2L15LG100B 04004c37
EF2L15LG144B ef2_1 EF2L15LG144B 04004c37
EF2L15BG256B ef2_1 EF2L15BG256B 04004c37
EF2L25XG42B ef2_2 EF2L25XG42B 01004c37
EF2L25BG256B ef2_2 EF2L25BG256B 01004c37
EF2L45LG144B ef2_4 EF2L45LG144B 03004c37
EF2L45BG256B ef2_4 EF2L45BG256B 03004c37
EF2M45LG64B ef2_4 EF2M45LG64B 00004c37
EF2M45LG48B ef2_4 EF2M45LG48B 00004c37
EF2S45VG81C ef2_s4 EF2S45VG81C 02004c37
EF2M45VG81C ef2_s4 EF2M45VG81C 02004c37

Family : EF3

ef3_1 and ef3_2 FRAMES:765 BYTES_PER_FRAME:204 (1632 bits) BYTES_PER_MEM_FRAME:1152 (9216 bits)

ef3_4 and ef4_9 FRAMES:1046 BYTES_PER_FRAME:286 (2288 bits) BYTES_PER_MEM_FRAME:1152 (9216 bits)

Device Part Package Device ID
EF3L15CG256B ef3_1 EF3L15CG256B 09004c37
EF3L25CG256B ef3_2 EF3L25CG256B 0a004c37
EF3L40CG332B ef3_4 EF3L40CG332B 02008c3b
EF3L40CG324B ef3_4 EF3L40CG324B 04008c3b
EF3L90CG400B ef3_9 EF3L90CG400B 00008c3b

Family : EG4

FRAMES:1259 BYTES_PER_FRAME:488 (3904 bits) BYTES_PER_MEM_FRAME:1152 (9216 bits)

Device Part Package Device ID
EG4X15BG256 eagle_15 BGA256X 00014c35
EG4A15BG256 eagle_15 BGA256A 0e014c35
EG4X20BG256 eagle_20 BGA256X 00014c35
EG4A20BG256 eagle_20 BGA256A 08014c35
EG4A20NG88 eagle_20 QFN88 0c014c35
EG4D20EG176 eagle_s20 EQFP176 04014c35
EG4S20BG256 eagle_s20 BG256 0a014c35
EG4S20NG88 eagle_s20 QFN88 06014c35
EG4S20CG324 eagle_s20 CG324 02014c35