存储芯片选用Spansion公司的高性能FLASH芯片S29JL064H,最小访问周期为55 ns,其可以配置成8M×8 b的存储方式。而Virtex-Ⅱ系列FPGA的配置数据包括配置数据帧和配置寄存器数据,配置寄存器数据都为40×32 b,即1 280 b,配置数据帧会因器件不同而有变化,对于XC2V1000器件来说,配置数据帧为4 082 592 b,总的配置数据不到4 Mb。所以,此存储芯片完全可以满足FPGA和DSP程序的存储。对于FLASH存储空间的划分,采用一分为二的方法,DSP和FPGA程序各占一半空间。即,从地址0x00000~0x3FFFFF这4 MB空间用来存储DSP程序,剩余的4MB空间0x400000~0x7FFFFF存储FPGA程序。
由DSP的RD信号充当FPGA的配置时钟CCLK,FLAG0信号模拟FPGA的PROG_B信号,FLAG1和FLAG2分别作为FPGA的DONE信号和BUSY信号的输入。此系统在设计时,采用了DSP,FPGA,FLASH共用数据总线的方式,所以当DSP从FLASH芯片中读取FPGA的加载数据并出现在总线上的时候,可以直接被FPGA抓取来完成FPGA程序的正常加载。系统上电后,DSP启动DMA通道0,从FLASH地址0开始,把一个256 word的程序块传送到内部存储器地址0x00~0xFF。然后,DSP开始从0x00执行加载核,加载核将后续应用代码和数据加载至地址0xFF之后的内部存储器内。最后,加载核启动一个256 word的DMA,使其自身被工作程序代码覆盖。至此,DSP即从地址0x00开始执行工作程序。在工作程序中首先从FLASH存储器中读取FPGA的加载程序,并给出相应的加载时序,完成FPGA程序加载。以上就是关于数字信号处理的fpga实现的一个简单的例子,希望对大家有帮助。
安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/