应用SoPCBuilder开发电子系统_第1页
应用SoPCBuilder开发电子系统_第2页
应用SoPCBuilder开发电子系统_第3页
应用SoPCBuilder开发电子系统_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、应用SoPCBuiIder开发电子系统摘要:本文从系统总线设计、用户自概念指令和FPGA协处置器的应用这三个方面详细介绍了如何应用SoPC设计思想和SoPCBuilder工具来开发电子系统。通过应用SoPCBuilder开发工具,设计者能够摆脱传统的、易于犯错的软硬件设计细行,从而达到加速项目开发、缩短开发周期、节约开发本钱的目的。关键词:SoPC:SoPCBuilder:FPGA引言随着技术的进一步发展,SoC设计而临着一些诸如如何进行软硬件协同设计,如何缩短电子产品开发周期的难题。为了解决SoC设计中遇到的难题,设计方法必须进一步优化。因此,人们提出了基于FPGA的SoC设计方案SoPC(

2、Systemonaprogrammablechip)。随着百万门级的FPGA芯片、功能复杂的IP核和可重构的嵌入式处理器软核的出现,SoPC设计成为一种确实可行的、重要的设计方法。Altera公司在其开发工具QuartusII中集成了SoPCBuilder工具。在该工具的辅助下,设计者可以非常方便地完成系统集成,软硬件协同设计和验证,最大限度地提高电子系统的性能,加快设计速度和行约设计成本。SoPCBuilder工具的简介SoPCBuilder是一个自动化的系统开发工具,它能够极大地简化高性能SoPC的设计工作。该工具提供一个直观的图形用户界而,用户可以通过图形界而简化系统的定义工作。由于So

3、PCBuilder不需要直接编写HDL代码来定义系统,这极大地节约了设计开发时间。SoPCBuilder为每个元件提供了一个向导,利用该向导能很容易地定义元件功能。例如通过向导能够非常容易地在一个设计中加入Nios处理器,外设接口等。为了将微处理器核、外用设备、存储器和其它IP核相互连接起来,SoPCBuilder能够自动生成片上总线和总线仲裁器等所需的逻辑。通过自动完成以前易于出错的工作,SoPCBuilder可以行约几周甚至几个月的开发时间。SoPCBuilder在一个工具中实现了嵌入式系统各个方面的开发,包括软件的设计和验证,为充分利用SoPC技术提高电子系统的性能和降低成本提供了强有力

4、的支持。本文将从系统总线的设计、用户自定义指令、FPGA协处理器的应用这三个不同的方面展开讨论,介绍如何利用SoPCBuilder加快电子系统的开发。系统总线的设计系统总线主要解决多个主控制器相互连接、协调工作和资源共享的问题。例如一个系统包含多个处理器,或是一个处理器和一个具有DMA控制器的外围设备时,SoPCBuilder会自动生成总线仲裁逻辑,使得这些处理器和DMA控制器能够共享从属外闱设备或存储器。SoPCBuilder运用了一项被称为从属设备仲裁的技术,该技术允许多个主控制器同时访问数据。除非多个主控制器同时存取同一个从属单元,否则仲裁逻辑不会拒绝任何一个主控制器的访问。运用SoPC

5、Builder图形用户界面可以非常方便地指定仲裁优先级。SoPCBuilder将自动生成一个与目标硬件相匹配的软件开发环境,在此过程中还自动生成一个相关的头文件和整个系统的仿真模型,包括ModelSim工程文件、标准化总线接口波形文件和验证基于目标硬件的testbench文件。运用DMA技术能够提高数据读取速度以增强系统的性能,从而使系统能够更充分地利用CPU或总线的带宽。这一设计思想在SoPCBuilder中通过创建特定功能的外闱设备进一步加强。用户自己可以定义用Verilog或VHDL语言描述的逻辑,并把它们加入到SoPCBuilder的开发环境中。在图形用户界面的交互下,SoPCBuil

6、der会自动为这些用户定义的逻辑创建必要的总线接口,使DMA控制器能够访问这些用户定义的外围逻辑。在数字信号处理领域.快速傅立叶变换或离散余弦变换就是很好的例子。这些变换对数据的处理是基于数据块进行操作的。DMA控制器从系统外部读取数据,并把数据存储到预处理存储单元中。这一过程不需要处理器的干预,因此在这一期间处理器可以完成其它事情。等到DMA接收完数据后,处理器从预处理存储单元中读取数据进行处理,而DMA则把刚才处理器的处理结果读出来送到指定的外围设备中,并且继续接收数据。在这样的系统中,总线起到至关重要的作用。设计这样的系统总线是一件非常繁琐而且极易出错的事情。现在这一切都由SoPCBui

7、lder工具自动生成,大大地减轻了设计者的负担,提高了设计效率,加快了电子系统的设计速度。用户自概念指令当数据块比较小而且处理过程已确定时(只需几个确定的CPU指令周期),最有效的处理方法是通过SoPCBuilder为Nios处理器自定义用户指令来实现。设计者可以直接在Nios处理器的算术逻辑单元(ALU)中加入具有特定功能的组合或时序逻辑块,然后在SoPCBuilder中将这些特定功能的逻辑块和用户自定义指令联系起来,通过Ra和Rb两个寄存器来实现。处理器的处理结果存储在Ra寄存器中。这些用户定义的功能仅由器件中的逻辑单元决定。在系统生成时,SoPCBuilder自动为每一个用户定义的指令创

8、建一个宏。软件通过在Nios嵌入式处理器指令集中用户自己定义的操作码来访问这些特定功能硬件。由于采用硬件实现复杂的算术逻辑运算比用软件更快捷、更高效,因此设计者在设计电子系统时应该着重考虑系统内部重要的循环运算,让这一部分尽量用硬件来实现,把原先需要几个指令周期才能实现的循环运算减少到只需一个指令周期就能实现。例如在循环冗余校验计算中,设计者可以用非常简单的硬件逻辑来代替需要多行软件代码才能完成的工作。这样,原来需要多个时钟周期才能完成的工作在一个时钟周期内就完成了。在创建或编辑Nios处理器时,将这部分硬件逻辑添加到处理器算术逻辑单元中,并为该逻辑块定义一个指令。然后为该指令选择操作码,并导

9、入描述这一硬件逻辑的HDL文件。SoPCBuilder向导会自动扫描顶层模块的端口,产生相应的连接。最后,向导会为用户定义的指令分配所需的CPU时钟周期并命名这些指令。FPGA协处置器的应用在进行复杂的数字信号处理时,利用协处理器能够大幅度地增强数字信号处理器的处理能力。因此在某些应用领域中,软件开发者会利用硬件协处理器来减少各种复杂的数学运算,包括Viterbi解码、Turbo编解码、离散余弦变换等。与传统基于DSP处理器的结构相比,整合FPGA协处理器和DSP处理器的系统在性能上提高了10倍,开发费用却只有原来的l/10o图1显示了作为数据的接收和发送者的FPGA协处理器如何与DSP处理器

10、相连接。这一结构以处理特定数据流的硬件加速器为典型代表。图2和图3显示了在数字信号处理数据流中,FPGA协处理器如何对数据流进行预处理和后处理。当需要处理的数据速率超过了DSP处理器所能处理的范围时,这种结构明显地体现出其优越性。它可以大大地提高系统的性能,减少设计开发成本。由Altera公司定义的协处理器至少包含一个控制接口和一个数据接口。处理器或DSP可以用控制接口来设置协处理器并且监视它的工作情况,用数据接口与存储器、外围设备或其它协处理器交换数据。系统开发者先创建FPGA协处理器,然后将该协处理器导入到SoPCBuilder开发环境中,使之能够非常方便地集成到整个设计系统中。在整个开发

11、过程中,SoPCBuilder可以自动为每个处理器单元或系统接口生成软件开发组件,成功地解决了系统开发中软硬件协同设计的问题。软件开发组件增强了软件驱动能力,使得所有功能模块对该处理器是可见的。总之,通过创建FPGA协处理器可以极大地提高系统的性能,减少开发成本,缩短设计周期。结语SoPC是当前IC设计的发展主流,代表了半导体技术和ASIC设计的未来。Altera公司将SoPC设计思想集成到其开发工具SoPCBuilder中,极大地提高了电子工程师的设计效率,加快了电子系统的开发速度,自约了设计成本,缩短了设计周期。参考文献1 SoPCBuilderdatasheet,AlteraCorporation,January20032 QuartusIIhelp,AlteraCorporation,January20043 Niosdevelopmentboard

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论