IC技术讲座是本刊2005年推出的全新技术类栏目。为了让工程师在设计开发中完善和拓展基础理论与系统知识,丰富应用经验,《世界电子元器件》和bwin客户端
联合清华大学等知名院校共同创办了这个栏目,特约知名学者、教授以及著名半导体公司的应用工程师撰写,以系列讲座的方式对热点IC技术进行全面而系统的介绍,涵盖最新技术要点。最先开设的讲座将围绕三大课题:DSP、FPGA和嵌入式系统,每个课题都将连载6期。
概述
在许多领域中广泛应用的嵌入式计算系统(简称为嵌入式系统),是在更大的电子器件中嵌入的重复完成特定功能的计算系统,它经常不被器件的使用者所识别,但在各种常用的电子器件中能够找到这些嵌入式系统。例如,消费类电子产品中的手机、寻呼机、数字相机、摄像机、录像机、个人数字助理等,家用电器中的微波炉、洗衣机、烤箱、门禁系统、照明系统等,商用装置中的卡片读入器、扫描仪、打印机等。这些嵌入式系统具有几个共同的特性:
1.单一的功能:一个嵌入式系统通常重复地执行一个特定的程序,除非嵌入式系统的程序被新的版本更新,或者由于尺寸的限制几个程序在一个系统中被调进或调出,但即使这些例外也表示系统具有特定的功能。
2.严紧的限制:所有的计算系统在设计时都有许多约束的要求,但是对嵌入式系统的约束特别严紧,诸如成本、尺寸、性能和功耗等设计的限制条件可以评定系统实现的特性,而嵌入式系统还有特别高的设计技术要求。
3.实时的反应:许多嵌入式系统必须连续地对系统环境的变化做出反应,并且无延误地实时计算出确定的结果。
4.软硬件共存:一般嵌入式系统由嵌入式处理器、系统的外围硬件设备、嵌入式操作系统和系统应用软件等四部分组成,是一个以微处理器为核心的数字系统,涉及到硬件和软件两方面的技术,嵌入式系统的微处理器可以是通用处理器或微处理器、单片机或DSP的专用处理器、单用途处理器等。
由于设计的度量标准是对嵌入式系统实现可测量的特性,嵌入式系统的设计必须构造全部预期功能的实现,但面临的挑战是同时对大量设计的度量标准进行优化。
除去不可回收的工程(NRE)成本外,对设计系统的要求还包括单元成本、尺寸、性能、功耗、灵活性、样机时间、上市时间、可维护性、故障率和安全性等。
FPGA实现嵌入式系统的优势
从系统对上市时间的要求、可编程的特性以及集成度等方面考虑,以可编程门阵列(FPGA)来实现可配置的嵌入式系统已越来越广泛。图1表示FPGA实现嵌入式系统的市场预测,估计从2002年的23亿美元,将增长到2008年的63亿美元。
图1 FPGA实现嵌入式系统的市场预测
采用90纳米工艺生产FPGA器件之后,FPGA器件进一步降低成本,减少功耗和提高性能,低成本使FPGA成为中小批量生产的应用器件,应用范围从早期的军事、通信系统等扩展到低成本消费电子类等产品。目前在实现嵌入式系统的各个领域得到广泛的应用,并进一步带来设计方法的变化。表1列出主要的FPGA产品在成本、功耗和性能上的改进。
表1:主要FPGA成本、功耗、性能介绍
基于模型的设计方法
当今许多高集成度的嵌入硬件和软件系统具有灵活的信号处理和通信。这些系统中硅密度和算法复杂性有惊人的增长,引起设计和校验成本的上升。
嵌入系统的市场预测发现,大于50%的嵌入系统项目不能按时完成,1/3的项目仅达到50%的性能而失败。图2给出在设计各阶段检测缺陷的典型模式。
图2 设计各阶段检测缺陷典型模式
即使采用新的校验技术或在传统设计工具和流程中扩展语言也不足以改善开发进程,这些增量的改进不能消除传统流程的问题:如模糊的基于文本的技术要求,人工的实现和后期的测试,这些问题都会产生扩充的错误并危及产品的交货时间。
与传统设计流程对比,采用Simulink的基于模块的设计技术在开发时间、成本和风险等方面有惊人的改善。在应用实时信号处理、通信和控制逻辑的航天、汽车、通讯和半导体工业已经有大量文献资料证明这些好处和优点。
基于模型的设计技术由以下四部分组成:
来自模型的可执行技术条件
由Simulink模块集中的模块作为系统和部件行为的可执行技术要求,代替了传统设计流程中模糊的文本文件。
这些模块可以覆盖数字和模拟的硬件及软件,它们便于在工程队伍之间清晰“无模糊”地交流和通信。
带有仿真的设计
Simulink是一个为多领域动态系统仿真的平台,它提供交互的图形化方框图环境,带有为信号处理、通讯和控制等可定制的模块库集合,也可以产生综合性系统技术条件、模型通道和其它的环境效应。这些工具简化了利用定量测量的系统分析,如信/噪比和位误差率等。
Simulnk模块是层次化的,可以很容易把它们分成子系统或元件,同时还可以定义所有为实现软件和硬件需要的全部信息,利用仿真来证明由模型定义的可执行技术条件是完全的和正确工作的。
由自动代码生成进行实现
设计一旦被认为已经完善和通过校验,就可以自动地从模型产生代码,消除手工编码的要求和人工编码引入的错误。在实现设计的目标系统中可以利用这个代码作为实时的样机和推广应用。
安装在Simulink中的Xilinx/Altera的System Generator/DSP Builder 可以对Xilinx/Altera的
FPGA自动产生硬件代码的能力。
持续的测试和校验
可以确保整个开发过程的质量,集成化的测试在任何级的模型中进行,覆盖模型的定量测试。持续的校验和仿真可以及早发现错误,由于是及时发现,修正错误代价就得到降低。系统模型或称为“golden
reference”可看作硬件或软件实现的测试床,可以在协同仿真的软件或硬件环路中验证。
FPGA DSP嵌入式系统
为什么利用FPGA来实现DSP系统,概括地说,因为FPGA是极高并行度的信号处理引擎,能够满足算法复杂度不断增加的应用要求,通过并行方式提供极高性能的信号处理能力。Xilinx的XtremeDSP模块,如图3所示,使得Virtex4/Sparten3
系列FPGA可以为高性能的数字信号处理提供理想的解决方案,达到传统上由ASIC或ASSP完成的高性能信号处理能力。可以针对数字通信和视频图象处理等应用开发高性能的DSP引擎,也可在可编程DSP系统中作为预处理器或协处理器等。Virtex4
SX系列中DSP48模块最多达到512个,工作频率达到500MHz,成为算术密集应用的理想器件。
图3 Xilinx XtremeDSP模块结构
DSP48模块是一个18x18位二进制补码乘法器,跟随一个48位符号扩展的加法器/减法器/累加器,适应DSP应用中的众多的功能。提高了操作数输入、中间积和累加器输出的可编程流水线操作,以及48位内部总线等的吞吐量和适应性,无需一般的结构布线就可以实现前一个DSP48的输出与后一个DSP48输入的级联,增强了它的功能。
在复杂算法的数字处理系统中,系统要求的不断提高和集成规模的不断扩大,使得系统结构在设计的开始阶段是不明确的,不可能直接用RTL(寄存器转移级)设计方法进行描述,所以将系统集成到数字芯片中。
采用数字技术对复杂算法进行硬件实现时,首先遇到的问题是在结构上并没有预先的规定,因此需要首先对算法建模和仿真进行优化。与基于RTL针对结构清晰的设计方法不同,算法设计把焦点从针对结构的细节转移到对设计的整体要求和行为,在最高的算法层次上考虑如何进行设计,对系统的行为描述定义了设计要执行的算法,不涉及或很少涉及实现细节,因此行为描述比RTL描述要简洁的多。
Xilinx公司与MathWork和TI公司等许多技术上世界领先的公司合作,在设计技术上提供许多基于模型的系统设计新方法。
图4所示的DSP设计环境可以进行系统的数学建模,算法优化和改进,设计校验和诊断,以及 HDL产生和仿真等。涉及Xilinx的ISE硬件实现工具和嵌入系统开发包EDK,以及片内逻辑分析工具(ChipScope
Pro)等。第三方的工具包括MATLAB/SimuLink和ModelSim等,可以进行HDL协同仿真和硬件在环路的协同仿真等,一旦设计优化完成和仿真通过,可以直接利用IP核的网表文件进行硬件实现,设计的效率和可靠性大大提高。
图4 System Generator的DSP设计环境
DSP48可以高效地实现许多基本的算术功能,包括加法器、减法器、累加器、乘法累加、乘法多路复用、计数器、除法器、平方根函数和桶式移位器等。
图5表示在Virtex4/Sparten3 FPGA在高性能DSP应用中,各种不同FIR滤波器技术的适用情况,FIR滤波器的算法为:
图5 Virtex4/Sparten3FPGA在不同FIR滤波器中适用情况
公式:(略)
公式中n个系数与n个相应的数据采样相乘,再对内积求和产生单个结果。系数数值将确定滤波器的低通/高通/带通特性,可以利用不同的架构和不同的方法来实现滤波器的功能。在利用器件内双端口块RAM实现输入数据的缓存时,读地址端口的时钟速度要比输入采样数据写入速度快n倍。乘法累加(MAC)的FIR滤波器最高的输入采样率将受到与系数个数有关的抽头数影响,对单一的结构降为时钟频率的1/n倍。图5中在对数坐标的情况下,随系数数目增加,采样率的变化呈直线下降。FPGA中可以利用众多的嵌入乘法器或DSP48模块实现完全并行的FIR滤波器,以增加硬件资源来换取使输入数据采样率达到系统的时钟频率。由于FPGA具有非常灵活的“液体硬件”性质,可以在其上实现各种结构的滤波器,图5表示了按照不同的结构和参数选择滤波器实现技术的原则。
FPGA嵌入微处理器系统
Xilinx FPGA的Virtex4和VirtexII -Pro系列嵌入了IBM PowerPC405的 RISC微处理器硬核,而Virtex和SpantenII之后的所有系列都可以嵌入MicroBlaze软核。
嵌入的PPC405硬核和MicroBlaze软核都是32位的哈佛结构微处理器。
PPC405硬核包括cache单元、存储器管理单元(MMU)、指令获取译码单元、执行单元、定时器和诊断逻辑单元等,如图6所示。指令的操作包括获取、译码、执行、写回和加载回写五级流水组成。包括加载和存储等大多数指令都是一个时钟周期内执行。
图6 PPC405硬核结构
PPC405处理器模块是与CoreConnect总线结构相兼容的,包括Xilinx IP软核在内的任何CoreConnect兼容核都可以通过这个高性能总线结构与处理器模块集成。CoreConnect结构提供处理器局部总线(PLB)、片内外设总线(OPB)和器件控制寄存器(DCR)总线,利用这三个总线来互联处理器模块、Xilinx
IP软核、第三方IP核和定制的逻辑。高性能外设连接到高带宽低滞后的PCB总线,较慢速的外设连接到OPB总线,可以减少PLB总线的流量,提高整个系统性能。图7给出PPC405和MicroBlaze的总线例子。
图7 PPC405和MicroBlaze的总线应用
FPGA嵌入微处理器可以有三种不同的使用模式:
1.状态机模式:可以无外设、无总线结构和无实时操作系统,达到最低的成本,应用于VGA和LCD控制等,达到可高或可低的性能。
2.单片机模式:包括一定的外设,可以利用实时操作系统和总线结构,以中等的成本,应用于控制和仪表,达到中等的性能。
3.定制嵌入模式:高度集成扩充的外设,实时操作系统和总线结构,达到高性能,应用于网络和无线通信等。
随着FPGA的成本不断降低,FPGA实现嵌入式系统达到片上系统(SOC)的特性和可编程的要求具有明显的优越性,市场潜力很大。
|