sk2400

bitstream文件结构(1) (2006-09-01 21:47:22)

0
阅读(3307)

bitstream文件用于FPGA的JTAG下载。既通过JTAG将bitstream文件正确的下载到FPGA中,FPGA就可以工作。

  FPGA内部的configuration memory被分成的段叫做"frame",同系列的各款芯片frame数不同,frame内所包 含的bits也不同。FPGA内部还有10个internal configuration registers,用不同的地址(4bit)区分,向其中写二进制码来实现对FPGA的配置。

  文件中同步标志之后的所有数据被封装到包中,包有两种32bit的包头,包头1可以表示读/写、寄存器地址、和本包的数据长度(11bit),包头2用来 表示长度的位有27bit,但不可表示寄存器地址,当用包头1无法表示数据长度时,使用包头2和1结合的方式表示。下图为包头格式。
  bitstream文件结构如下:
  0、基本信息描述包括文件生成时间、生成文件的ncd名称、器件的型号封装等等。对下载没有影响。
  1、Dummy word--FFFF FFFFh : 内部配置逻辑需要几个周期进行初始化。
  2、Synchronization word--AA99 5566h
  3、Write to CMD register--3000 8001h:使用包头1格式写是10,CMD的地址是0100b,数据长度是1,所以是3000 8001h。
  4、RCRC(Reset CRC Register)--0000 0007h:RCRC命令的编码是0111b,所以是7h。
  5、Write to FLR register--3001 6001h:该寄存器中记录本器件的frame size模32减1的值。
  6、Frame Length--0000 00XXh
  7、Write to COR--3001 2001h:Configuration Option
  8、Configuration options--XXXX XXXXh:xapp151文档中有每一位功能说明
  9、Write to MASK--3000 c001h:标志CTL寄存器哪位有效
 10、CTL mask--0000 0000h
 11、Write to CMD register--3000 8001h
 12、SWITCH--0000 0009h:SWITCH编码9h,这个命令用来改变时钟
 13、Write to FAR register--3000 2001h:下载配置流起始存放的位置
 14、Frame address--0000 0000h
 15、Write to CMD register--3000 8001h
 16、WCFG(Write Configuration Data)--0000 0001h:WCFG编码1h
 未完,待续......