ADSP-TS201评估板系统概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于ADSP-TS201评估系统概述
1、ADSP-TS201的主要性能
●高达600MHz运行速度,1.6ns指令周期。
●24Mbit片内DRAM。
●双运算模块,每个计算块包含一个ALU,一个乘法器,一个移位器,一
个寄存器组和一个通信逻辑运算单元(CLU)。
●双整数ALU,提供数据寻址和指针操作功能。
●集成I/O接口,包括14通道的DMA控制器,外部端口,4个链路口,SDRAM
控制器,可编程标志引脚,2个定时器输出引脚等用于系统连接。
●通过共享总线可无缝连接多达8个TigerSHARC DSP。
ADSP-TS201的性能直接决定了其主要优点有:
●提供高性能静态超标量DSP操作,专门优化适用于通信和需要多DSP处
理器的应用。
●优异的DSP算法和I/O性能表现。
●DMA控制器支持14个DMA通道,可完成片内存储器,片外存储器,存储
器映射外设,链路口,主机处理器和其他多处理器之间的低开销的高速
传输。
●非常灵活的指令集和支持高级语言的DSP结构便于DSP编程。
●可扩展的多处理器系统,连接时仅需很低的通信开销。
表1显示了ADSP-TS201的性能指标。
表1 ADSP-TS201通用算法性能
Table 2-1 general purpose algorithm benchmarks on ADSP-TS201
性能指标速度时钟周期1024点复数FFT(基2)15.7μs 9419
64K点复数FFT(基2) 2.33ms 1397544
FIR滤波器(每个抽头)0.83ns 0.5
[8⨯8][8⨯8]矩阵乘(复浮点数) 2.3μs 1399
2、系统的整体结构
在系统中,ADSP-TS201作为主DSP芯片,是处理核心,主要完成信号处理所要求的各种算法的实现。
该芯片速度快,运算精度高,很适合浮点应用的开发。
系统的逻辑控制、译码等功能由一片FPGA芯片来实现,因其具有灵活和紧凑的特点。
除此之外,电路系统中还包含了硬件电路和软件算法得以实现所必须的辅助电路。
其中包括512K×8位FLASH存储器,在系统中用于装载用户程序,可供硬件
仿真和脱机运行,并可实现“自启动”。
在存储器方面,由于有专用的SDRAM接口,
可以方便地使用32MB (4M x 64bit) SDRAM,用于片外存储器的扩展,使系统具有速度更快,容量更大的数据存储空间。
ADSP-TS201上设置了符合IEEE1149标准的JTAG标准测试接口及相应的控制器, 从而不但能控制和观察多处理器系统中的每一个处理器的运行, 测试每一块芯片, 还可以用这个接口来装入程序,进行片上仿真。
用电缆使计算机通过PCI插卡与Summit-ice仿真盒相连,用14芯JTAG 接口线连接到DSP目标板上。
实验系统中还设置了按键,用于设置外部中断,LED 灯,用于显示程序结果。
此外还配有与PC机进行串行通信的USB接口[23]。
本系统中采用了共享总线系统与分布式并行系统混合的簇式结构。
共享总线结构具有各处理器共享片内存储器和片外存储器的优点,实现无缝连接,并具有总线仲裁逻辑,可以充分利用各处理器的数据资源。
分布式结构实现处理器间点对点传送,解决了共享总线的瓶颈问题。
结合二者优点可以使多处理器系统适合同时处理很多不同的任务,高度并行,灵活性强[15]。
总之,系统方案从全局设计的角度出发,更好地利用了芯片的特点,采取了
更有效的设计,使电路功能更加丰富全面,有利于完成数字信号处理模块的功能。
系统的整体结构如图1所示:
图1 基于ADSP-TS201提出的系统设计方案
3、系统硬件设计
系统硬件设计包括:硬件设计方案、DSP及周边器件选型、原理图设计、PCB设计等。
本实验系统包含ADSP-TS201处理器及其上电复位电路、电源电
路、系统时钟电路、SDRAM扩展电路、程序存储及启动调试Flash电路,一个用于逻辑控制的FPGA电路,用于ICE调试的JTAG口,用于与PC机通信的USB接口电路,以及用于测试的LED灯、按键接口。
下面将分别介绍系统各部分电路。
3.1、DSP处理器模块设计
DSP模块是整个系统设计的核心,本系统采用两片ADSP-TS201芯片。
本章将从系统设计的角度,介绍ADSP-TS201芯片在连接方式,存储器组织、链路口连接、通用接口及外部中断的应用方面的特点,讨论该芯片系统设计中的辅助性问题。
3.1.1、双处理器连接方案
随着VLSI器件开关速度、连线延时以及VLSI理论特征尺寸限制的极限,单片处理器性能的进一步提高将越来越困难,而依靠提高主频率来提高性能的方法也越来越行不通。
所以人们对运算速度的无限追求是不能通过单个处理单元的发展而实现的,只能通过并行处理技术来实现。
面对宽带数字化和高抽样率、高精度带来的巨大数据量,必须采用多处理器并行处理技术。
并行处理技术涉及的方面很广,包括网络拓扑结构、系统结构、算法研究等多方面。
并行多处理器系统硬件平台的设计,主要应考虑根据具体应用的特点,决定采用什么样的体系结构来组成并行处理系统,以发挥系统的最佳性能,达到最好的处理效果。
ADSP-TS201之间的数据传输通道可选择的只有以下两种方式:高速链路口和高速外部总线口。
由多ADSP-TS201组成的DSP系统从数据传输方式来看,不外乎以下3钟模型[3]:
●高速链路口耦合模型,又称为松耦合方式。
●高速外部总线口耦合模型,又称为紧耦合方式。
●高速链路口与高速外部总线口混合耦合模型。
从数据流来看,高速链路口耦合模型中数据传输是串并行方式,而高速外部总线耦合模型是并行模式。
前者适应于流水处理方式,后者适应于并行分布式处理方式。
下面分别介绍一下三种连接方式的特点。
1、高速链路口耦合模型
以高速链路口耦合组成多DSP系统,结构简单,有很高的数据传输速率。
ADSP -TS201的一个高速链路口单向通信包含了4位数据,时钟与握手信号一共12条引线,双向通信要24条引线。
在内核时钟为500MHz时,单向数据传输最高可达55MB/s,双向数据传输率可达1GB/s。
用高速外部总线耦合方式,及时采用100MHz的SCLK,64位总线口,用最快的流水操作协议,不加任何等待周期,双向数据传输速率仅为800MB/s。
链路口的点对点通信具有很高的传输可靠性。
只要通信协议与链路口的通信协议相同,链路口也可以实现TigerSHARC DSP 与外围其它设备通信,如FPGA 等。
采用高速链路口耦合的多处理器系统,仅需要链路口实现DSP 片间通信,就可以实现无缝连接,并且避免了总线仲裁问题。
高速链路口耦合模型的示意图如图3-1所示[16]。
图3-1 高速链路口耦合模型
Figure3-1 high speed link port model
2、高速外部总线耦合模型
以高速外部总线耦合方式组成多DSP 系统,可实现在多DSP 系统内的资源共享。
系统中的各处理器可共享RAM 、SDRAM 和主机等资源,还可共享其它处理器核内资源。
ADSP-TS201提供了专门的多处理器系统仲裁逻辑,最多可以由8片DSP 构成多处理器系统,可通过0~7BR BR
、HBR 、HBG 、CPA 、DPA 等引脚进行自动总线仲裁,而不需要附加任何其它仲裁逻辑。
ADSP-TS201通过外部引脚ID2~0为每个独立的处理器分配了统一的存储空间,每个处理器通过外部口传输数据。
高速外部总线耦合模型可形象表现为图2。
图 2 高速外部总线耦合模型
3、高速外部总线与高速链路口混合耦合模型
为兼顾数据传输速率、资源共享、结构简单以及PCB 设计方便等因素,可采
用混合耦合模型。
在本系统中,为尽可能利用ADSP-TS201的所有资源,我们便采用混合耦合模型,将2片DSP 处理器的总线口都相互连接好,各DSP 之间的高速链路口也都连接,建立DSP 到DSP 的点对点通道与DSP 间资源共享的工作块模式。
由于只有两片处理器,所以只使用了0BR 和1BR 引脚,对于没有使用的2~7BR BR 需要上拉处理。
而在链路口连接方面,充分考虑到为使PCB 阶段布线方便,而将两处理器以相互倒置的方式码放,这时四个链路口两两相对,将两片的LINK0和LINK2互连,LINK1和LINK3互连,这时可使布线无任何交叉,从而使高速的链路信号不会因布线过长或过孔而产生衰减。
采用两种方式结合使用,会有更高的多处理器内部传输速率,全部资源的高速应用可提供超过4GB/s 的数据传输。
本系统的双DSP 连接方案如图3所示。
图3 高速外部总线与高速链路口混合耦合模型
3.1.2、 DSP 存储器配置方案
ADSP -TS201的32位地址总线提供了高达4GB 的寻址空间,整个寻址空间对共享总线的所有单元都适用。
ADSP -TS201采用的是统一的存储器映射空间,片内和片外存储器都有单独而且唯一的地址空间。
整个映射空间包含4个部分:主机空间、外部存储器空间、多处理器空间和片内存储器空间。
除了主机空间外,每个空间又包含更小的存储空间,如外部存储器寻址空间还有SDRAM 空间等。
另外,无论处理器内部寻址空间还是外部寻址空间,TigerSHARC 处理器还保留了部分空间用于未来新处理器的扩展,但就目前处理器而言,这些保留空间都是不可以访问的。
图4 ADSP-TS201的存储器映射
ADSP-TS201处理器寻址空间映射如图4所示。
可以看出,ADSP-TS201的整个寻址空间由以下几部分组成:
(1)片内存储空间,定义了处理器内部存储空间的地址映射,地址范围是0x00000000~0x03FFFFFF。
(2)多处理器空间,用于由多处理器构成的系统中,各个处理器之间相互共享处理器的内部存储器空间映射,地址范围是0x0C000000~0x2FFFFFF。
(3)外部存储块空间,用于处理器外围设备存储器接口的地址映射空间,包括通用的外部存储器设备和SDRAM存储器,地址映射范围是0x30000000~0x7FFFFFFF。
(4)主机寻址空间,用于片外主机接口的地址映射空间,外部主机可以是主机或者其它处理器,地址映射范围是0x80000000~0xFFFFFFFF。
3.1.3、链路口连接设计
TigerSHARC DSP的链路口为处理器内部或外部的数据传输提供了一个快速、独立的通信机制,它为系统中TigerSHARC之间提供了一种点对点的通信方法,同时也可供TigerSHARC与其它使用相同协议的I/O设备连接通信。
由于链路口通信协议比较简单,并且具有较高的数据传输率,因此它是构成多处理器系统的一个有效的组成部分[24][25]
ADSP-TS201有4个全双工链路口通信口,采用LVDS(Low Voltage Differe ntial Signaling)电路,提供额外的4位全双向I/O能力。
每个链路口都有一个接收通道和一个发送通道,均可独立地进行接收和发送操作,即以双倍速率(最高为CCLK时钟的上升和下降沿)锁存数据。
与早先的ADSP-TS101相似,ADSP-TS201的链路口可以通过处理器核访问,也可以通过DMA的方式进行访问,不同的是,ADSP-TS101采用LVTTL进行数据传输,而ADSP-TS201采用LVDS进行数据传输,从而可以使链路口工作在更高的时钟频率,获得更高的数据传输速率,以提高处理器的性能。
当处理器核工作在500MHz时,每个链路口单方面的吞吐量可以到达每秒500MB,每个链路口组合起来最高吞吐量每秒可以到达1GB。
ADSP-TS201的链路口结构如图5所示:
图5 ADSP-TS201的链路口结构
每个链路口都有自己的双缓冲输入和输出寄存器。
DSP的内核可以直接写链路口的发送寄存器和读接收寄存器,或DMA控制器通过8个专用的链路口DMA
通道(4个发送,4个接收)进行传输。
每个链路口有3个信号用于控制操作。
发送时,引脚LxCLKOUT是输出发送时钟,引脚LxCLKI控制数据流的握手输入信号,而引脚LxPCMBO输出信号指示块传输是否完成。
接收时引脚LxCLKI是输入接受时钟,引脚LxCLKOUT控制数据流的握手输出信号,而引脚LxPCMBI输出信号指示块传输是否完成。
LxDATO3-0是发送时的数据输出总线,LxDATI3-0是接收时的数据输入总线。
通过ADSP-TS201芯片的TMR0E引脚,可将链路口的数据宽度设置为1位(默认)或4位。
如果需要改变该默认值,只需在TMR0E和VDD_IO之间加一个500Ω的上拉电阻即可。
值得注意的是,由于ADSP-TS201的链路口采用LVDS方式进行数据传输,因此根据LVDS传输方式的要求,需要在接收方配置100Ω的终端匹配电阻,这样才能使链路口正常工作并进行较高速的链路口数据传输。
在进行PCB设计时,链路口间的连接除了要遵循最基本的PCB设计原则外,还有更严格的要求:
1、每一个连接链路的LVDS接收对都需要接100Ω (误差1%)的电阻,且要靠近接收引脚放置。
2、链路口之间的连接应该是点对点的。
3、对高速4-bit操作,链路口时钟信号应放在4组LVDS数据信号之间。
4、链路时钟线应放置在链路数据线之间,且保持线之间距离尽量大,线的长度尽量短,过孔尽量少,因为LVDS对之间不应有信号或过孔。
5、最好把LVDS信号单独置于一层,且放于PCB的底层或顶层。
电源层或
地层位于LVDS下方,也可以把LVDS信号放在电源层和/或接地层的夹
层中,总之与LVDS信号层相邻的上下层不能是信号层。
3.1.4、系统时钟与复位设计
ADSP-TS201处理器的系统时钟有四种,它们分别是:系统时钟(SCLK)、内核时钟(CCLK)、外设总线时钟(SOCCLK)和链路口输出时钟(LxCLKOUT)。
其中系统时钟为外部总线口提供时钟,并且作为外部总线信号的AC规范参考。
内核时钟为内核、内部总线、存储器以及链路口提供时钟,指令执行速度也等于CCLK。
CCLK=SCLK⨯SCLKRATx,其中SCLKRATx的取值范围为4~12。
外设总线时钟,即SOC总线工作频率,等于1/2⨯CCLK。
链路口输出时钟等于CCLK/CR,其中CR为LCTLx中速度设置位,取其值范围为1~4。
上述4个时钟间的关系如图6所示:
外部口时钟
处理器核时钟
SOC时钟
链路口时钟
图 6 ADSP-TS201处理器系统时钟
根据对外部总线口速度和CCLK、指令执行速度等因素的综合考虑,在本系统中,SCLK取100MHz,用于设置PLL的时钟倍率的N值由三个外接引脚SCLKRAT2
-0决定,这三个引脚连接了拨扭开关,可随时手动调整倍频系数大小,此系数在默认状态下取5,这时核时钟可由SCLK 倍频产生,即核时钟 CCLK =N ×SCLK=500MHz 。
系统时钟电路的原理图如图7所示:
R6933FPGA_CLK U6
OSC NC 1
GND
2VCC 4OUT 3R63
10K
R7333SCLK_DSPB C20
0.1uF 3V3D
U7
CY2309
VDD 4VDD 13CLKOUT 16CLKA12CLKA23CLKA314CLKA415CLKB16CLKB27CLKB310CLKB411S19S28GND 5GND 12REF 1
R6433
SDRAM_CLK0SCLK_DSPA SDRAM_CLK1R6633R6710R68103V3D
图7 时钟系统部分原理图
由于该数字电路系统属于高速电路设计,所以在时钟同步方面要求较高,在同一电路板上的各个DSP 的时钟用同一驱动器的各个门分别进行驱动,不应采取串行驱动方式,更不能将不同频率的时钟源用同一个时钟驱动器进行驱动。
为了保证各器件时钟同步,我们引入CY2309[26]时钟匹配器件。
该器件拥有内部时钟锁相环,可以将引脚输出的时钟信号分成9条相位频率完全相同的时钟信号。
系统中只需使用5路,2路DSP ,2路SDRAM ,1路给FPGA ,这样可以避免任一时钟信号因反射而对其他时钟造成影响。
此外,本系统还采用一个100MHz 的外部晶体振荡器作为外部输入的低频时钟源,然后通过初始化配置片内锁相环(PLL )将外部输入的低频时钟源倍频,为系统提供高频系统时钟。
ADSP-TS201处理器中有三个引脚决定复位电路,RST-IN 、RST-OUT 和POR-IN 。
其中RST-IN 为复位输入,是芯片硬件复位引脚,设置DSP 到一种确定状态并使程序处于空闲状态。
根据复位操作类型,RST-IN 必须在指定时间内得到确认。
RST-OUT 为复位输出,是RST-IN 在芯片内部的同步延迟,表示DSP 复位已经完成。
POR-IN 为内部DRAM 电源复位。
在本系统设计中,RST-IN 必须连接到其它所有的器件来提供统一的复位时序,每个处理器应将RST-OUT 引脚连接到POR-IN 。
对于复位电路,本系统中同时设计了上电复位电路和手动复位电路,在系统运行中出现故障时可方便地手动复位。
ADSP-TS201芯片的上电时序如图8所示:
图 8 ADSP-TS201上电复位时序
ADSP-TS201芯片对复位信号要求在内核电压、PLL 供电、I/O 电压、系统和内核时钟以及初始化引脚全部稳定后,保持2ms 的低电平。
U8MAX811T RESET 2
MR 3VCC 4GND
1
3V3D
DSP_RESET R6510K
R70
0SW4SW
S W 11S W 12S W 23
S W 24
图9 复位模块原理图
根据DSP 的复位要求,我们选择了MAX811复位芯片。
该芯片结构简单,功能丰富,具有手动复位功能,可随时进行人工复位,是一款性价比很高的复位芯片。
复位电路的部分原理图如图9所示:
3.1.5、系统引导方案
ADSP-TS201系列的DSP 接口丰富,支持多种程序引导加载方式,可根据实际系统设计的需要灵活选用。
所谓引导,就是TigerSHARC 在复位的情况下,自动从片外装载程序代码。
用户在Visual DSP++下调试成功后,就要考虑如何在无仿真器的状态下,把代码加载到TigerSHARC 的片内或片外存储器中。
只有一种例外,那就是TigerSHARC 和非易失的外部存储器相连,而且外部存储器是32位宽,复位后TigerSHARC 直接执行外部存储器中的程序代码,这称为“非引导”模式。
ADSP-TS201的引导方式可分为以下四种:EPROM/FLASH 引导,TigerSHARC 作为主动方,用外部口输出地址、读、BMS 等控制信号,从EPROM 或FLASH 中加载代码;主机引导,TigerSHARC 作为被动方,不向外部输出控制信号,外部主机或其它设备向TigerSHARC 的主机、链路口传送要加载的代码;链路口引导,
通过处理器的链路口实现程序的引导和加载;非引导方式,通过外部不同的Strap信号,从内部存储器的不同地址开始执行程序。
在四种方式中,前三种需要引导程序内核,而且都有相同的引导过程:首先,TigerSHARC自动启动一个DMA,自动把256字(32位)传送到内部存储器的地址0x00~0xFF,接着,执行上述256字指令(称为加载核),加载核启动其它DMA,把后续指令和数据加载到内部或外部存储器,最后加载核自我覆盖[32]。
由于本系统采用了簇式结构的并行方式,这就使得引导方式的选择非常灵活。
可以两片TigerSHARC都通过引导FLASH进行加载,也可以任一片TigerSHARC 先由FLASH加载,再通过任意链路口或共享总线对另一片TigerSHARC进行加载。
下面分别介绍这两种引导方式[27]。
FLASH引导:在该引导模式下,引脚BMS和RD作为输出分别接FLASH片选
和输出使能,FLASH的8位数据线接TigerSHARC的DATA0~DATA7。
在本系统中,多处理器共享总线,可以由一片FLASH对两片TigerSHARC加载,具体实现方法
是将所有两片TigerSHARC的BMS管脚接在一起,但只有主处理器驱动BMS。
FLASH芯片的具体接法详见FLASH设计分一节。
链路口引导:ADSP-TS201处理器的任何一个链路口均能用于引导。
链路口引导使用TigerSHARC的任何一个链路口DMA通道。
处理器BMS引脚在复位时为高电平状态,复位之后进入空闲状态,等待着链路口来启动。
本系统中,将第一片DSP设置为主引导模式,从片外FLASH加载,BMS引脚接低。
第二片DSP设置为引导模式,从第一片的链路口加载代码,BMS引脚接高。
ADSP-TS201的引导方式决定于BMS引脚,该引脚是一个复用引脚,有第二功能,具体描述如下:
表2BMS引脚功能描述
Table 3-1 the pin BMS function
在硬件设计时对BMS引脚设计了一个拨扭开关,从而使两片DSP方便选择各种引导
模式。
此外,在多片处理器系统中,每个处理器都要有一个自己的ID号,用来识别各自的
存储器映射空间。
我们分别对两片处理器的ID0~2进行了跳线设计,使它们可以改变自身ID 号,使引导方式可以随时灵活调整。
3.1.6、JTAG 在线仿真设计
ADSP 系列硬件仿真器是每个DSP 开发者都需要的测试和调试软硬件系统的工具,它支持模拟器的大部分调试功能。
仿真器通过一个名为JTAG 的连接器与目标板上的DSP 进行通信。
因此,要使用这些仿真器,用户目标板上必须设计有ADI 的JTAG DSP 接口和仿真插座。
JTAG 是Joint Test Action Group 的缩写,它符合IEEE 1149.1标准。
集成电路固定在PCB 上,通过边界扫描方式就可以对它进行测试。
通过JTAG 测试,仿真器能够访问DSP 的内部,还可以转载代码,设置断点,观察变量和存储器,检查寄存器。
在发送数据和命令时DSP 必须暂停,但当仿真器完成此次操作,DSP 系统就可以全速运行,不影响系统的定时时序。
在本系统中有两片ASDP-TS201芯片,所以需要设计一个串行连接的JTAG 链来进行在线仿真。
JTAG 插座是一个14引脚的连接器,JTAG 测试访问端口包括:TCK 、TMS 、TDI 、TDO 、TRST 引脚。
为了避免噪声干扰和增强信号的驱动能力,应当将连接到仿真器的信号加4.7k 左右的上拉电阻。
此外,为了增加JTAG 信号的驱动能力,使TCK 信号的上升和下降沿单调快速,本系统设计有单独的缓冲器,这样可以产生更快的时钟并提高仿真能力。
根据经验,我们选择了74系列245双向缓冲芯片。
JTAG 的设计原理如图10所示:
图10 JTAG 设计原理图 3.1.7、 DSP 通用FLAG 引脚,外部中断连接设计
ADSP-TS201有4个可编程的I/O 引脚(FLAG3~0),可以用来做输入输出。
作为输出使用时,这些引脚可以驱动外设;作为输入使用时,它们可以用作条件分支的预测,默认在上电和复位后为输入。
此外,ADSP-TS201还提供了4个外部重点输入引脚(30IRQ ),用于处理器的外部接口对程序流的控制。
这4个中断源可以设置为边沿触发,也可以设置为电平触发,这可以通过SQCTL 寄存器进行编程实现。
若使能其中断,且该引脚输入有效,则发出一个中断。
3V3D TMS TCK TRST TDI 3V3D TDO EMU J3JTAG HEADER GND 1KEY 3VDDIO 5BTCK 7BTRST 9BTDI 11GND 13EMU 2GND 4TMS 6TCK 8TRST 10TDI 12TDO 14U1074LVT244
I02I14I26I38I411I513I615I717
1OE
1
2OE 19O018O116O214O312O49O57O65O73VCC 20GND 10RN34.7K R 11R 22R 33R 44R 45R 18R 27R 36R764.7K
在本系统中,使用DSP通用FLAG引脚和外部中断引脚连接按键和LED等,在程序运行中设置中断,可以方便观察结果。
在设计时,将FLAG1~0-A、FLAG1~
0-B与LED等相连,中间需加入74系列缓冲器,其它的FLAG引脚、30
IRQ-A、IRQ-B分别接入FPGA的通用I/O中。
30
FLAG的引脚连接情况如图3-11所示。
图11 DSP FLAG引脚连接
3.2、FPGA设计
TigerSHARC具有非常强大的运算能力,但整个系统往往还需要完成很多控制功能和简单逻辑。
FPGA可以根据用户的设计对其内部功能进行编程和配置,使原先需要硬件电路完成的功能软件化,从而使系统具有设计周期短,设计更加灵活等优点。
同时FPGA器件还有功能强大的设计软件作支持,使得FPGA成为解决系统级设计的一个重要选择方案。
综上所述,为了弥补TigerSHARC201逻辑控制能力的不足,在系统中采用DSP+FPGA结构来实现优势互补。
3.2.1FPGA的基本结构
简化的FPGA基本由5部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元。
每个单元的基本概念介绍如下:
1、可编程输入/输出单元
输入/输出(Input/Output)单元简称I/O单元,它们是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需求。
为了使FPGA有更灵活的应用,目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可以适配不同的电气标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。
2、基本可编程逻辑单元
基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。
FPGA一般是基于SRAM工艺的,其基本可编
程逻辑单元几乎都是由查找表(LUT,Look Up Table)和寄存器组成的。
3、嵌入式块RAM
FPGA内部嵌入可编程RAM模块,大大地拓展了FPGA的应用范围和使用灵活性。
FPGA内嵌的块RAM一般可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等常用存储结构。
FPGA内部实现RAM、ROM、CAM、FIFO等存储结构都可以基于嵌入式块RAM单元,并根据需求自动生成相应的粘和逻辑以完成地址和片选等控制逻辑。
4、丰富的布线资源
布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。
FPGA内部有着非常丰富的布线资源,这些布线资源用以完成器件内部的全局时钟和全局复位/置位的布线,器件Bank(分区)间的一些高速信号和一些第二全局时钟信号的布线及基本逻辑单元之间的逻辑互联与布线。
5、底层嵌入功能单元
底层嵌入功能单元是指那些通用程度较高的嵌入式功能模块,比如PLL、DLL、DSP、CPU等。
3.2.2FPGA的选型标准
器件选型是一个综合性问题,需要将设计的需求、成本压力、规模、速度等级、时钟资源、I/O特性、封装、专用功能模块等诸多因素综合考虑。
通过对FPGA 基本结构的分析,可以看出,在系统设计中,FPGA的选择标准主要依靠对FPGA 的内部结构和用于实现可编程单元的半导体技术的判断 [28][29]。
在器件选型和规模估计上应考虑以下几个方面:
1、可编程I/O的数量,可支持的最高频率:在系统设计时需要确定FPGA应该能
支持所需的I/O引脚数量,及在这些引脚当中有多少是通用的I/O引脚,有多少是用于特殊的功能,例如时钟输入、主复位段等专用I/O引脚。
2、底层配置单元的LUT和寄存器比率:一般来说,比较经典的基本可编程单元
的配置是一个寄存器加一个查找表,但是不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。
设计时根据需求配置LUT和寄存器的比率,优化其内部的连接结构。
3、嵌入式块RAM的结构、数量及配置方式:不同器件商或不同器件族的内嵌块
RAM的结构不同,Altera的块RAM最为灵活,一些高端器件内部同时含有3种块RAM结构,分别是M512 RAM(512bit),M4K RAM(4Kbit),M-RAM(512Kbit)。
4、可供布线资源选择连通的底层单元模块。