当前位置:首页 > EDA > 电子设计自动化
[导读]0 引言在信号处理领域中,基于FPGA+DSP的结构设计已经是系统发展的一个重要方向。随着该系统设计的广泛应用,功能变得更加丰富,成本日趋低廉。而在某些小型化应用的场合中,对系统体积的要求越来越高,因此如何在硬

0 引言

在信号处理领域中,基于FPGA+DSP的结构设计已经是系统发展的一个重要方向。随着该系统设计的广泛应用,功能变得更加丰富,成本日趋低廉。而在某些小型化应用的场合中,对系统体积的要求越来越高,因此如何在硬件层次上缩小系统体积,已经是必须要考虑的重点。除了选用高集成度的芯片、布局更加紧凑的电路结构之外,优化系统的功能实现方式则能在更高层次上减小系统体积。

对于FPGA+DSP的基本架构,DSP电路模块的主要构成为DSP芯片和存储其程序的FLASH芯片,已经为最小结构,无法精简。FPGA电路模块常用的构成方式为FPGA芯片和相应的配置芯片。而FPGA有多种配置方式,不同的配置方式,所需芯片会有差异,因此采用芯片数量少的配置方式可以在一定程度上节省电路板的面积。

不同厂家、不同系列的FPGA芯片,配置方式都存在有差异。对于Xilinx公司的Virtex-Ⅱ系列FPGA来说,主要有主动串行、主动并行、被动串行、被动并行和边界扫描5种配置方式。其中,边界扫描方式只能烧写断电即丢失的.bit文件,不能在系统中单独使用;主动串行和主动并行的配置方式需要额外的配置芯片,不利于精简系统;被动并行和被动串行的配置方式都是依靠FPGA外部连接的微处理器来进行配置的,而FPGA+DSP结构中的DSP正好可以充当配置电路中的微处理器,这样就可以省去配置芯片和JTAG电路等相关模块,能在一定程度上缩小系统体积。本文选择了被动的并行配置方式,原因在于更高的配置速率,此种配置方法在工程实践中有着重要意义。

1 配置方法

1.1 配置文件格式

配置FPGA即是要把开发工具已经综合好的程序文件按一定的时序写入FPGA芯片中。而Xilinx的开发环境可以根据用户的选择产生多种文件格式,以不同的后缀名区分。不同的文件格式包含了不同的信息,有不同的用途。最常用的格式有.mcs格式、.bit格式和.bin格式,其中,.mcs文件是给FPGA的配置芯片烧写程序时使用的,而.bit和.bin文件都是直接给FPGA烧写程序时使用的。所不同的是,.bin只包含了最原始的配置数据,而.bit文件除包含有最原始的配置数据外,还在开头添加有头部冗余信息,里面包含了当前ISE工程的名字、器件型号、编译时间等。这部分信息是不应该烧写到FPGA芯片中去的,因此,本文选择使用.bin文件来对FPGA进行配置。一般的,此配置文件数据都是以Xilinx指定的16进制同步字符FF FF FF FF AA 99 55 66开头,并在重复4次16进制同步字符20 00 00 00后结束。

由于被动并行的配置方式省去了配置芯片,因此,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)来分别实现。然后对提取后的数据d进行格式码转换,相应的matlab程序如下:

if(d<10)
d=d+48;
else
d=d+55;
end

1.2 配置管脚

与FPGA配置相关的管脚可以分为2类:专用管脚和可复用管脚。专用管脚的作用是固定的,而可复用管脚在配置阶段作为配置管脚,配置结束后可以配置为通用的IO管脚,也可以继续作为配置管脚。配置管脚主要有:异步复位PROG_B,初始化INIT_B,配置时钟CCLK,数据输入D0-D7,加载成功指示DONE,写信号RDWR_B,片选信号CS_B,模式选择M0~M2,忙指示BUSY(并行加载且钟速率大于50 MHz时才使用)等。需要注意的是,通常的微处理器数据格式是little endian格式,D0位为最低有效位,而Xilinx的FPGA采用了big endian格式,在接收程序数据时,D0位是最高有效位。而.bin文件仍采用littIe endian格式,其最高有效位是D7位,所以需要对数据进行位顺序转换。在本文中,为了简化操作,直接在硬件连接上进行了数据位的顺序转换,即DSP的D7位和FPGA的D0位相连,DSP的D6位和FPGA的D1位相连,以此类推。

1.3 配置流程

FPGA的上电配置过程大致可以分为4个阶段:上电、初始化、数据加载和启动。具体完成的操作如下:

(1)上电。内核供电VCCint大于2.5 V,管脚供电电压VCCO大于1.0V,上电即可完成。

(2)初始化。上电完成后,外部输入低电平PROG_B信号,复位配置寄存器,同时,FPGA拉低INIT_B信号,来指示其正在进行内部配置寄存器的清除。当PROG_B为高时,INIT_B仍要保持一段时间直至配置寄存器完全清除。PROG_B信号至少需要300ns,无最大值限制。本文中的PROG _B信号由DSP提供。

(3)数据加载。在INIT_B信号的上升沿,FPGA会采样它的配置模式管脚M0~M2来选择不同的配置方式,本文的被动并行模式,需要M0~M2值为:011。然后在INIT_B信号为高时,开始进行配置数据加载。在同步字符加载完成后,真正的配置逻辑数据开始被加载。在数据加载完毕并且做了2次正确的CRC检验之后,开始进入FPGA启动阶段,否则,FPGA输出INIT_B为低,并重新来进行配置。

(4)启动。CRC校验正确,则FPGA拉高指示信号DONE,然后再需要4个CCLK来激活所有的IO管脚,使能并初始化内部RAM、触发器等,最终完成FPGA的启动过程。

在生成FPGA的.bin文件时,可以设置加载FPGA时使用的时钟CCLK频率,但是,这个频率只对主动加载方式有效,被动方式时,CCLK时钟由外部供给,与此参数无关。

2 硬件实现电路

2.1 硬件结构

本文选用AD公司生产的ADSP-TS101这款芯片作为配置FPGA的主处理器。ADSP-TS101是一款极高性能的静态超标量处理器,同时支持浮点和定点处理,最高工作频率为300 MHz,地址范围4 GB,最大支持16MB的PROM。从地址的0x08000000~0xFFFFFFFF为外部存储器空间的一部分,可以访问独立的外围设备,完全可以满足片外程序的寻址。为了完成配置FPGA的时序,需要DSP有灵活可控的引脚信号。而ADSP-TS101的4个标志引脚信号FLAG3~FLAG0允许在ADSP-TS101和其他的设备之间传递位信号。任何一个标志引脚既可以作为输入也可以作为输出,且ADSP -TS101的许多指令都可以以标志引脚的输入作为执行条件,可以在多处理器和其他接口之间进行高效的通信和同步。因此,可以将此4个管脚和FPGA进行连接,模拟完成FPGA的配置时序。

存储芯片选用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程序。

系统的硬件结构示意图如图1所示。由DSP的RD信号充当FPGA的配置时钟CCLK,FLAG0信号模拟FPGA的PROG_B信号,FLAG1和FLAG2分别作为FPGA的DONE信号和BUSY信号的输入。此系统在设计时,采用了DSP,FPGA,FLASH共用数据总线的方式,所以当DSP从FLASH芯片中读取FPGA的加载数据并出现在总线上的时候,可以直接被FPGA抓取来完成FPGA程序的正常加载。

2.2 工作时序

系统上电后,DSP启动DMA通道0,从FLASH地址0开始,把一个256 word的程序块传送到内部存储器地址0x00~0xFF。然后,DSP开始从0x00执行加载核,加载核将后续应用代码和数据加载至地址0xFF之后的内部存储器内。最后,加载核启动一个256 word的DMA,使其自身被工作程序代码覆盖。至此,DSP即从地址0x00开始执行工作程序。在工作程序中首先从FLASH存储器中读取FPGA的加载程序,并给出相应的加载时序,完成FPGA程序加载。具体的工作时序,如图2所示。

3 结语

随着FPGA+DSP的系统结构在电子设计领域中应用的日益广泛化,在不增加其它额外器件的前提下,依靠DSP模拟FPGA加载时序,对FPGA使用了被动并行的配置方式。此方法在一定程度减少了设计冗余,实现了小型化和低成本。应用于电路系统中,工作稳定可靠,灵活高效。
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭