基于FPGA的嵌入式系统设计
1 概述
1.1 FPGA|0">FPGA的特点及其发展趋势
嵌入式系统是一个面向应用、技术密集、资金密集、高度分散、不可垄断的产业,随着各个领域应用需求的多样化,嵌入式设计技术和芯片技术也经历着一次又一次的革新。虽然ASIC的成本很低,但设计周期长、投入费用高、风险较大,而可编程逻辑器件(Programmable Logical Device)设计灵活、功能强大,尤其是高密度现场可编程逻辑器件(Field Programmable Gate Array)其设计性能已完全能够与ASIC媲美,而且由于FPGA的逐步普及,其性能价格比已足以与ASIC抗衡。因此,FPGA在嵌入式系统设计领域已占据着越来越重要的地位。
FPGA的基本结构由以下几个部分构成:
Ø 可编程逻辑功能模块CLB(Configurable Logic Blocks)
Ø 可编程输入输出模块IOB(Input/Output Blocks)
Ø 可编程内部互连资源PI(Programmable Interconnection)
随着工艺的进步和应用系统需求 ,一般在FPGA中还包含以下可选资源:
Ø 存储器资源(Block RAM和Select RAM)
Ø 数字时钟管理单元(分频/倍频、数字延迟)
Ø I/O多电平标准兼容(Select I/O)
Ø 算数运算单元(乘法器、加法器)
Ø 特殊功能模块(MAC等硬IP核)
Ø 微处理器(PPC405等硬处理器)
以FPGA为核心的PLD产品是近几年集成电路中发展得最快的产品。随着FPGA性能的高速发展和设计人员自身能力的提高,FPGA将进一步扩大可编程芯片的领地,将复杂专用芯片挤向高端和超复杂应用。目前FPGA的发展趋势主要体现在以下几个方面:
Ø 向更高密度、更大容量的千万门系统级方向迈进
Ø 向低成本、低电压、微功耗、微封装和绿色化发展
Ø IP资源复用理念将得到普遍认同并成为主要设计方式
Ø MCU、DSP、MPU等嵌入式处理器IP将成为FPGA应用的核心
随着处理器以IP的形式嵌入到FPGA中,ASIC和FPGA之间的界限将越来越模糊,未来的某些电路版上可能只有这两部分电路:模拟部分(包括电源)和一块FPGA芯片,最多还有一些大容量的存储器。Xilinx等公司最新一代FPGA:Spartan II/E、Virtex II Pro及其相关IP Core的推出,使我们有理由相信,可编程片上系统(System on Programmable Chip)的时代已经离我们不远了。
1.2可编程片上系统(SOPC)的基本特征
可编程片上系统(SOPC)是一种特殊的嵌入式系统:首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
SOPC结合了SOC和FPGA各自的优点,一般具备以下基本特征:
Ø 至少包含一个嵌入式处理器内核
Ø 具有小容量片内高速RAM资源
Ø 丰富的IP Core资源可供选择
Ø 足够的片上可编程逻辑资源
Ø 处理器调试接口和FPGA编程接口
Ø 可能包含部分可编程模拟电路
Ø 单芯片、低功耗、微封装
SOPC设计技术实际上涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统(RTOS)为中心的软件设计技术、以PCB和信号完整性分析为基础的高速电路设计技术以外,SOPC还涉及目前以引起普遍关注的软硬件协同设计技术。由于SOPC的主要逻辑设计是在可编程逻辑器件内部进行,而BGA封装已被广泛应用在微封装领域中,传统的调试设备,如:逻辑分析仪和数字示波器,已很难进行直接测试分析,因此,必将对以仿真技术为基础的软硬件协同设计技术提出更高的要求。同时,新的调试技术也已不断涌现出来,如Xilinx公司的片内逻辑分析仪Chip Scope ILA就是一种价廉物美的片内实时调试工具。
2 IP资源复用理念与IP Core设计
2.1 IP资源复用理念
由于芯片设计的复杂性和产品面市时间对于保证终端市场的成功率至关重要,设计师不断寻求缩短设计周期的方法,以及更有效的设计方式。随着我们步入系统级芯片时代,利用IP内核和可编程逻辑进行设计复用显得日趋重要。
IP资源复用(IP Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的智力产权内核,然后再利用EDA工具进行设计、综合和验证,从而加速流片设计过程,降低开发风险。IP Reuse已逐渐成为现代集成电路设计的重要手段,在日新月异的各种应用需求面前,超大规模集成电路设计时代正步入一个IP整合的时代。
IP Reuse不仅仅应用于专用集成电路设计,对基于FPGA的嵌入式系统设计领域而言,更是具有举足轻重的地位。FPGA在采用IP内核方面走在了市场的前面,其原因有以下几个方面:
Ø FPGA具有极高的灵活性和面市时间短的特点,这使得多项设计迭代可以在数小时而不是数周内完成
Ø 由于FPGA密度达到了百万门甚至是千万门,越来越多的设计师倾向于使用IP内核保持和提高产品的产量
Ø 可编程逻辑价格低廉,可以作为切实可行的生产工具以及最佳原型设计,而且不许要昂贵的EDA设计工具,大大降低了设计门槛
2.2 IP Core设计方法:编码风格与项目模板
IP Core是IP Reuse的载体和核心内容,基于应用需求、规范协议和行业标准的不同,IP Core的内容也是千差万别的。但是,为了使IP Core易于访问和易于集成,其设计必须遵循一定的规范和准则。
在IP Core的开发方面,许多开放性的团体都付出了巨大的努力来推动各种IP Core的开发和IP Reuse理念的推广,其中比较著名的是Open Cores开发组织(http://www.opencores.org)。他们不仅开发了许多开放源代码的IP Core,涵盖了处理器IP、处理器外设控制器IP、算术运算单元IP、DSP算法IP等方面,而且编写了详细的IP Core编码风格和项目模板,并倡导了一种总线标准wishbone,用于规范各种IP Core的接口标准。国内开放性团体IP Core开发小组(http://www.IPcore.com.cn)也在IP Core开发和IP Reuse理念的推广和普及方面进行了不懈的努力。
编码风格(Coding Style)是基于HDL的IP Core源码编写的指导性文档,其可读性直接关系到IP Core的易于访问和易于集成性。编码风格一般包含几个方面的约定:文件头和版本说明、联机注释、命名规则、可综合编码等。
项目模板则规定了完成一个IP Core设计包含的主要内容及所需提供的文档,项目模板内容及其文档直接关系到IP Core的易于集成特性,一个IP Core必须是完整的、经过全面验证的,才能顺利地集成到应用项目中去。项目模板一般包含几个方面的内容:项目定义、接口说明、系统结构和模块、设计文档说明、测试验证报告、约束和实现、版本说明、试用评价以及参考文献等。
编码风格和项目模板详细文档的英文版和中文版可分别从上述两个网站获得。
2.3 IP Core验证:仿真、测试与评估板
IP Core设计在完成编码阶段以后,对其功能的测试验证是一项非常重要的内容,因为这直接关系到IP Core资源的可用性。仅仅通过功能仿真、时序仿真和测试向量验证的IP Core是不完备的,它必须通过实际系统的验证。国际上各大公司通常采用的办法是评估板验证,也即构建一个与实际系统IP Core应用一致的硬件环境,通过下载FPGA配置使其具备相应的逻辑功能,并进行实物仿真。
另外,由于IP Core的许可成本较高,用户也通常希望在购买IP Core之前,对其功能进行充分的验证以确定是否适合于目标系统,从而降低投资风险,(当然,内核和源代码的知识产权是加了保护措施的),Xilinx公司的Sing Once和Altera公司的Open Core均提供了这样的平台。
Xilinx公司和Altera公司均提供了许多用于评估IP Core的FPGA评估板,如USB、MAC、IEEE1394等等。许多第三方设计中心,如Insight,还开发了用于SOPC系统集成的Virtex II MicroBlaze评估板和Virtex II Pro PPC405评估板等等。Xilinx FPGA的国内专业设计公司长沙依元素科技(http://www.eestd.com)还开发了用于测评各类基本IP Core以及学习培训用途的数字刀剑®系列 (DigitalSword® Series Kit)评估板,如图1所示,该系列评估板提供了VGA、LCD、音频、键盘鼠标、串口、并口、USB Slave、I2C等电平接口,并提供了标准扩展总线以及丰富的子板功能模块支持。
IP Core FPGA 嵌入式 可编程逻辑器件 相关文章:
- 10大热点技术发展趋势分析(11-18)
- SIP协议简介(05-07)
- 基于51主控的lP电话设计(05-13)
- 基于Linux和S3C2410的嵌入式图象传输系统设计(05-24)
- 一种可靠的低成本嵌入式以太网接口设计(06-28)
- 嵌入式系统中TCP/IP协议的精简与实现(07-31)