基于SoPC Builder的电子系统的开发

发布者:rockstar6最新更新时间:2010-12-31 来源: 山西电子技术关键字:SoC  SoPC  FPGA  嵌入式处理器  SoPCBuilder 手机看文章 扫描二维码
随时随地手机看文章

  O 引言

  随着科学技术的进一步发展,SoC设计面临着一些诸如如何进行软硬件协同设计,如何缩短电子产品开发周期的难题。为了解决SoC设计中遇到的难题,设计方法必须进一步优化。因此,人们提出了基于FPGA的SoC设计方案——SoPC(System on a programmable chlp)。随着百万门级的FPGA芯片、功能复杂的IP核和可重构的嵌入式处理器软核的出现,SoPC设计成为一种确实可行的、重要的设计方法。

  Altera公司在其开发工具QuartusⅡ中集成了SoPC Builder工具。在该工具的辅助下,设计者可以非常方便地完成系统集成,软硬件协同设计和验证,最大限度地提高电子系统的性能,加快设计速度和节约设计成本。

  1 SOPC Builder工具的简介

  SoPC Builder是一个自动化的系统开发工具,它能够极大地简化高性能SoPC的设计工作。该工具提供一个直观的图形用户界面,用户可以通过图形界面简化系统的定义工作。由于SoPC Builder不需要直接编写HDL代码来定义系统,这极大地节约了设计开发时间。SoPC Builder为每个元件提供了一个向导,利用该向导能很容易地定义元件功能。例如通过向导能够非常容易地在一个设计中加入Nios处理器,外设接口等。为了将徽处理器核、外围设备、存储器和其它IP核相互连接起来,SoPC Builder能够自动生成片上总线和总线仲裁器等所需的逻辑。通过自动完成以前易于出错的工作,SOPC Builder可以节约几周甚至几个月的开发时间。SoPC Builder在一个工具中实现了嵌入式系统各个方面的开发,包括软件的设计和验证,为充分利用SoPC技术提高电子系统的性能和降低成本提供了强有力的支持。本文将从系统总线的设计、用户自定义指令、FPGA协处理器的应用这三个不同的方面展开讨论,介绍如何利用SoPC Builder加快电子系统的开发。

  2 系统总线的设计

  系统总线主要解决多个主控制器相互连接、协调工作和资源共享的问题。例如一个系统包含多个处理器,或是一个处理器和一个具有DMA控制器的外围设备时,SoPC Builder会自动生成总线仲裁逻辑,使得这些处理器和DMA控制器能够共享从属外围设备或存储器。SoPCBui-lder运用了一项被称为从属设备仲裁的技术,该技术允许多个主控制器同时访问数据。除非多个主控制器同时存取同一个从属单元,否则仲裁逻辑不会拒绝任何一个主控制器的访问。运用 SoPCBuilder图形用户界面可以非常方便地指定仲裁优先级。SoPC Builder将自动生成—个与目标硬件相匹配的软件开发环境,在此过程中还自动生成—个相关的头文件和整个系统的仿真模型,包括ModelSim工程文件、标准化总线接口波形文件和验证基于目标硬件的testbench文件。

  运用DMA技术能够提高数据读取速度以增强系统的性能,从而使系统能够更充分地利用CPU或总线的带宽。这一设计思想在SoPC Builder中通过创建特定功能的外围设备进一步加强。用户自己可以定义用Verilog或VHDL语言描述的逻辑,并把它们加人到SoPC Builder的开发环境中。在图形用户界面的交互下,SoPC Builder会自动为这些用户定义的逻辑创建必要的总线接口,使DMA控制器能够访问这些用户定义的外围逻辑。在数字信号处理领域,快速傅立叶变换或离散余弦变换就是很好的例子。这些变换对数据的处理是基于数据块进行操作的。DMA控制器从系统外部读取数据,并把数据存储到预处理存储单元中。这一过程不需要处理器的干预,因此在这一期间处理器可以完成其它事情。等到DMA接收完数据后,处理器从预处理存储单元中读取数据进行处理,而DMA则把刚才处理器的处理结果读出来送到指定的外围设备中,并且继续接收数据。在这样的系统中,总线起到至关重要的作用。设计这样的系统总线是一件非常繁琐而且极易出错的事情。现在这一切都由SoPC Builder工具自动生成,大大地减轻了设计者的负担,提高了设计效率,加快了电子系统的设计速度。[page]

  3 用户自定义指令

  当数据块比较小而且处理过程已确定时(只需几个确定的CPU指令周期),最有效的处理方法是通过SoPC Builder为Nios处理器自定义用户指令来实现。设计者可以直接在Nios处理器的算术逻辑单元(ALU)中加入具有特定功能的组合或时序逻辑块,然后在SoPC Builder中将这些特定功能的逻辑块和用户自定义指令联系起来,通过Ra和Rb两个寄存器来实现。处理器的处理结果存储在Ra寄存器中。这些用户定义的功能仅由器件中的逻辑单元决定。在系统生成时,SoPC Builder自动为每一个用户定义的指令创建一个宏。软件通过在Nios嵌入式处理器指令集中用户自己定义的操作码来访问这些特定功能硬件。由于采用硬件实现复杂的算术逻辑运算比用软件更快捷、更高效,因此设计者在设计电子系统时应该着重考虑系统内部重要的循环运算,让这一部分尽量用硬件来实现,把原先需要几个指令周期才能实现的循环运算减少到只需一个指令周期就能实现。例如在循环冗余校验计算中,设计者可以用非常简单的硬件逻辑来代替需要多行软件代码才能完成的工作。这样,原来需要多个时钟周期才能完成的工作在一个时钟周期内就完成了。在创建或编辑Nios处理器时,将这部分硬件逻辑添加到处理器算术逻辑单元中,并为该逻辑块定义—个指令。然后为该指令选择操作码,并导入描述这一硬件逻辑的HDL文件。SoPC Builder向导会自动扫描顶层模块的端口,产生相应的连接。最后,向导会为用户定义的指令分配所需的CPU时钟周期并命名这些指令。

  4 FPGA协处理器的应用

  在进行复杂的数字信号处理时,利用协处理器能够大幅度地增强数字信号处理器的处理能力。因此在某些应用领域中,软件开发者会利用硬件协处理器来减少各种复杂的数学运算,包括Viterbi解码、Turbo编解码、离散余弦变换等。与传统基于DSP处理器的结构相比,整合FPGA协处理器和DSP处理器的系统在性能上提高了1O倍,开发费用却只有原来的1/10。作为数据的接收和发送者的FPGA协处理器可与DSP处理器相连接,这一结构以处理特定数据流的硬件加速器为典型代表。在数字信号处理数据流中,FPGA协处理器可对数据流进行预处理和后处理。当需要处理的数据速率超过了DSP处理器所能处理的范围时,这种结构明显地体现出其优越性。它可以大大地提高系统的性能,减少设计开发成本。

  由Altem公司定义的协处理器至少包含一个控制接口和一个数据接口。处理器或DSP可以用控制接口来设置协处理器并且监视它的工作情况,用数据接口与存储器、外围设备或其它协处理器交换数据。系统开发者先创建FPGA协处理器,然后将该协处理器导入到SoPC Builder开发环境中,使之能够非常方便地集成到整个设计系统中。在整个开发过程中,SoPC Builder可以自动为每个处理器单元或系统接口生成软件开发组件,成功地解决了系统开发中软硬件协同设计的问题。软件开发组件增强了软件驱动能力,使得所有功能模块对该处理器是可见的。总之,通过创建FPGA协处理器可以极大地提高系统的性能,减少开发成本,缩短设计周期。

  5 结束语

  SoPC是当前IC设计的发展主流,代表了半导体技术和ASIC设计的未来。Alters公司将SoPC设计思想集成到其开发工具SoPC Builder中,极大地提高了电子工程师的设计效率,加快了电子系统的开发速度,节约了设计成本,缩短了设计周期。

关键字:SoC  SoPC  FPGA  嵌入式处理器  SoPCBuilder 引用地址:基于SoPC Builder的电子系统的开发

上一篇:中国电子科技集团研制成功多核DSP芯片
下一篇:基于FPGA片上PowerPC在VxWorks下的千兆网通信

推荐阅读最新更新时间:2024-05-02 21:14

Maxim推出用于超声检测的汽车应用SoC
  日前,Maxim推出MAXQ RISC微控制器产品线的最新成员:用于超声检测的混合信号微控制器SoC (片上系统) MAXQ7667。作为一个高集成度的DAS (数据采集系统),该款SoC为弱信号的远距离测量或多目标识别应用提供高性价比方案。器件集成的功能允许设计人员为成本敏感的传感器信号调理系统增添智能化功能。MAXQ7667针对EPA (电子泊车辅助)和PDC (泊车距离控制)等汽车传感器系统进行了优化,该器件还非常适合需要位置测量的工业处理、自动化及手持式应用。     该款7mm x 7mm器件集成了精确测量位置所需的主要功能模块,包括突发信号控制(脉冲传输)、模拟回波接收、数字信号处理以及微控制器。这种先进的
[模拟电子]
基于FPGA的简易微型计算机结构分析与实现
引 言 通常,人们对微型计算机的工作原理及硬件结构的了解来源于书本知识,深入理解掌握其功能特点比较困难,要自己亲手去做一个类似功能的微型计算机更是不可能。随着可编程逻辑器件的广泛应用,为数字系统的设计带来了极大的灵活性,用户可以利用FPGA(现场可编程门阵列)来开发出一个精简指令的CPU,同时对微型计算机的原理及结构进行充分研究,便于将来进行相关ASIC(专用集成电路)设计,也可用于计算机原理教学之中。 1 微型计算机结构及原理 以一个简化的微型计算机为例,微型计算机的简化结构。 1.1 微型计算机结构 微型计算机由PC(程序计数器)、IR(指令寄存器)、CON(控制部件)、MAR(存储地址寄存器)、ROM(只读存储
[嵌入式]
基于<font color='red'>FPGA</font>的简易微型计算机结构分析与实现
采用FPGA来实现自适应波束形成算法
  1 引 言   在雷达及声纳信号处理系统中,波束形成算法通常采用DSP软件编程实现,控制逻辑电路采用CPLD来完成,这种方法具有软件编程灵活、功能易于扩展的优点,但对于实时性能要求很高的系统,如雷达、声纳探测和超声成像等系统中为了提高对目标变化实时跟踪和测量,就必须尽量缩短信号处理的时间,过长的运算处理时间会对水下目标的探测性能产生较大的影响。声纳工作环境中总存在着各种干扰(例如本舰辐射噪声、近场其他船只的干扰等),普通波束形成系统是一种预形成波束系统,当他处在各向同性、均匀韵噪声场时,可能具有相当好的检测能力,但是出现近场干扰,或者背景噪声有某种不平稳性,声纳的检测能力就会迅速下降,以至完全失去检测能力,而自适应波束形
[嵌入式]
采用<font color='red'>FPGA</font>来实现自适应波束形成算法
基于VHDL的Petri网系统的FPGA实现
1 引言 Petri网是一种系统的、数学的和图形的描述和分析工具 ,随着超大规模集成电路FPGA和CPLD的发展,Petri网的硬件实现成为可能,而基于Petri网的逻辑控制器的逻辑电路实现方法成为最近几年的研究热点 。在目前的Petri网硬件实现的研究中,主要给出了petri网C/E系统和P/T系统的几种实现方法,但主要存在如下缺点:1)使用基本门电路和触发器用图形法自底向上实现了Petri网基本元件库所与变迁。这种设计方法的最大缺点是不易于任意修改逻辑电路设计。2)用VHDL语言实现了整体电路设计的软件化,但未形成模块化的Petri网元件。 VHDL语言由于其其强大的行为描述能力及与硬件行为无关的特性,被广泛的用于数字系统设
[嵌入式]
基于VHDL的Petri网系统的<font color='red'>FPGA</font>实现
CEVA和信骅科技合作在Cupola360 SoC 上实现出色的语音体验
CEVA,全球领先的无线连接和智能传感技术及集成IP解决方案的授权许可厂商(NASDAQ:CEVA) 和信骅科技(ASPEED Technology)宣布,信骅科技已经获得CEVA-BX1音频/语音DSP授权许可,并用于面向智能摄像头和视频会议系统的第二代Cupola360 SoC AST1230。通过CEVA的ClearVox多麦克风降噪和回声消除音频前端 (AFE)软件,两家企业构建解决最具有挑战性的会议系统用例。这款软件包针对CEVA-BX1 DSP进行了全面的优化,为任意语音会议系统大幅提高清晰度,并且允许添加语音助手和免提控制功能。 信骅科技董事长兼总经理林鸿明评论道:“第二代Cupola360 SoC是我们首款集成实
[手机便携]
一种基于ARM 的FPGA可重构配置方法的实现及应用
随着半导体工艺技术的迅猛发展,现场可编程逻辑器件FPGA的集成度迅速提高,已达到百万门量级,与此同时,FPGA中的逻辑资源也日益丰富,使得基于FPGA的片上系统设计成为可能.基于FPGA的片上系统设计因其具有开发周期短,设计成本低,软硬件可编程,系统设计灵活、可裁减、可扩充、可升级等优点正在成为电子系统设计的研究热点,且已经在通讯、工控等领域得到实际应用. 目前FPGA从实现技术上进行分类,可以分为基于查找表(LuT,k—up table)技术,SRAM工艺的FPGA、基于nash技术的FPGA和基于反熔丝(Anti—fuse)技术的FPGA,而使用最多的还是基于SRAM工艺的FPGA,如Altem的Cycl0
[单片机]
一种基于ARM 的<font color='red'>FPGA</font>可重构配置方法的实现及应用
Altera在亚洲13个城市举办2011年度技术巡展
    2011年7月26号,北京——       活动: Altera®公司今天宣布与代理商合作,将于2011年8月至11月在亚太地区13个城市举办免费的技术研讨会。研讨会将在以下国家举行:中国、韩国、马来西亚、台湾和印度。     在这些研讨会上,出席人员将了解到Altera的28-nm器件系列,包括Stratix® V、Arria® V和Cyclone® V FPGA ,将怎样优化实现解决方案,满足您在功耗、性能和成本上的要求。      我们将通过研讨向出席人员介绍Qsys——下一代 SOPC Builder ,了解它怎样帮助您进一步提高FPGA设计。出席人员还将了解 Quartus ® II软件的更新特性和功能
[嵌入式]
汽车电子系统MCU和SoC的差异
随着汽车科技的迅速发展,SoC在 汽车电子 系统中扮演着越来越重要的角色。从驾驶辅助系统到 自动驾驶 技术,NoC技术为汽车行业带来了新的可能性和挑战。 两个重要的概念是微 控制器 单元( MCU )和片上系统(SoC)。虽然它们都是用于构建 嵌入式系统 的 芯片 ,在设计和应用上存在着显著的区别。 Part 1 MCU和SoC的差异 ● MCU:通常集成在单个芯片上。它包含 处理器 内核、内存、可 编程 输入/输出(I/O)外设、 定时器 、计数器等。MCU被设计用于简单的控制应用,如家用电器、 工业 仪器等。 它的外设通常相对较少,并且内存容量较小,通常以KB为单位。由于其低成本和低功耗特性,MCU
[汽车电子]
汽车电子系统MCU和<font color='red'>SoC</font>的差异
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved