配置 FPGA 即是要把开发工具已经综合好的程序
文件按一定的时序写入 FPGA 芯片中。而 Xilinx 的开
发环境可以根据用户的选择产生多种文件格式,以的后缀名区分。不同的文件格式包含了不同的信息,有
不同的用途。最常用的格式有.mcs格式、.bit格 式 和
.bin格式,其中,.mcs文件是给 FPGA 的配置芯片烧写
程序时 使 用 的,而.bit和.bin文件都是直接给 FPGA
烧写程序 时 使 用 的。所 不 同 的 是,.bin只 包 含 了 最 原
始的配置数据,而.bit文件除包含有最原始的配置数据
外,还 在 开 头 添 加 有 头 部 冗 余 信 息,里 面 包 含 了 当 前
ISE工程的名字、器 件 型 号、编 译 时 间 等。这 部 分 信 息
是不应该烧写到 FPGA 芯片中去的,因此,本文选择使
用.bin文件来 对 FPGA 进 行 配 置。一 般 的,此 配 置 文
件数据都是 以 Xilinx指 定 的16进 制 同 步 字 符 FFFF
FFFFAA995566开头,并在重复4次16进制同步
字符20000000后结束。
由于被动并行的配置方式省去了 配 置 芯 片,因 此,
FPGA程序需要和 DSP程序共同存入 FLASH 芯片中。
本文选择使用 AD公司的DSP,其烧写FLASH 用的程序
文件格式为.ldr,每行是由16进制的0xXXXXXXXX 数
据组成。所以,应该对 FPGA 所用的.bin文件进行格式
转换。利用 Matlab工具,可以实现这一功能。要注意的
是,.bin文件其实是 ASCII码形式,要转换成 ASCII码的
二进制码才能使用。.bin文件是由若干个2位的16进制
数据构成的,对每个数据a(i)首先分别提取高低位,可通
过 Matlab的函数floor(a(i)/16)和 mod(a(i),16)来分别
实现[1]。然后对提取后的数据d进行格式码转换,相应
的 matlab程序如下:
if(d<10)
d=d+48;
else
d= d+55;
end
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !