




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5讲SOPCBuilder开发工具,5.1简介5.2SOPCBuilder设计流程5.3SOPCBuilder用户界面,5.1SOPC简介,5.1.1可编程片上系统(SOPC)技术简介SOPC(SystemOnaProgrammableChip)是指用可编程逻辑技术把整个系统放到一块硅片上。SOPC是一种特殊的嵌入式系统。一方面,它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;另一方面,它是可编程系统,具有灵活的设计方式,可裁减、扩充、升级,并具备软硬件在系统可编程的功能。这项技术将EDA、计算机设计、嵌入式系统、DSP及数字通信系统等技术融为一体。,SOPC结合了SOC和PLD、FPGA各自的优点,一般具备以下基本特征:,至少包含一个嵌入式处理器内核;具有小容量片内高速RAM资源;丰富的IPCore资源可供选择;足够的片上可编程逻辑资源;处理器调试接口和FPGA编程接口;可包含部分可编程模拟电路;单芯片、低功耗、微封装。,随着EDA技术的发展和大规模可编程器件性能的不断提高,SOPC技术已被广泛应用于许多领域。,(1)SOPC在极大提高了许多电子系统性能价格比的同时,还开辟了许多新的应用领域,如高端的数字信号处理、通信系统、软件无线电系统的设计、微处理器及大型计算机处理器的设计等等;(2)由于SOPC具有基于EDA技术标准的设计语言与系统测试手段、规范的设计流程与多层次的仿真功能以及高效率的软硬件开发与实现技术,使得SOPC及其实现技术无可争议地成为现代电子技术最具时代特征的典型代表。,与基于ASIC的SOC相比,SOPC具有更多的特点与吸引力:,ApplicationSpecificIntegratedCircuit专用集成电路,SystemonChip片上系统,开发软件成本低硬件实现风险低产品上市效率高产品设计成本低系统结构可重构及硬件可升级,5.1.2SOPCBuilder简介SOPCBuilder是Altera公司推出的一种可加快在PLD内实现嵌入式处理器相关设计的工具。它是一个革命性的系统级开发工具,旨在提高设计者的效率。设计者可确定所需要的处理器模块和参数,并据此创建一个处理器的完整存储器映射。设计者还可以选择所需的IP外围电路,如存储器控制器、I/O控制器和定时器等模块。,SOPCBuilder可以快速地开发定制新方案,重建已经存在的方案,并为其添加新的功能,提高系统的性能。通过自动集成系统组件,SOPCBuilder允许用户将工作的重点集中到系统级的需求上,而不是从事把一系列的组件装配在一起这种普通的、手工的工作。所有版本的AlteraQuartus的设计软件都已经包含了SOPCBuilder。设计者采用SOPCBuilder,能够在一个工具内定义一个从硬件到软件的完整系统,而花费的时间仅仅是传统SOC设计的几分之一。,SOPCBuilder提供了一个强大的平台,用于组建一个在模块级和组件级定义的系统。SOPCBuilder的组件库包含了从简单的固定逻辑的功能块到复杂的、参数化的、可以动态生成的子系统等一系列的组件。这些组件可以是从Altera或其他合作伙伴处购买来的IP核,其中一些IP核是可以免费下载用来做评估的;用户还可简单地创建他们自己定制的SOPCBuilder组件。SOPCBuilder内建的IP核库是OpenCorePlus版的业界领先的Nios/Nios嵌入式软核处理器。所有的Quartus用户都能够把一个基于Nios/Nios处理器的系统经过生成、仿真和编译进而下载到AlteraFPGA中,进行实时评估和验证。,SOPCBuilder库中已有的组件包括:(1)处理器:包括片内处理器和片外处理器的接口。(2)IP及外设:包括通用的微控制器外设,通信外设,多种接口(存储器接口、桥接口、ASSP、ASIC),数字信号处理(DSP)IP和硬件加速外设。5.1.3SOPCBuilder的功能特点1.具有直观的图形用户界面(GUI)利用图形用户界面,用户可以快速方便地定义和连接复杂的系统。如图5.1所示,用户可从左边的库中添加所需的部件,然后在右边的表中配置它们。,图5.1SOPCBuilder的图形用户界面,2.自动生成和集成软件与硬件SOPCBuilder会生成每个硬件部件以及连接部件的片内总线结构,仲裁和中断逻辑。它也会产生系统可仿真的RTL描述以及为特定硬件配置设计的测试平台,能够把硬件系统综合到单个网表中。另外,SOPCBuilder还能够生成C和汇编头文件,这些头文件定义了存储器映射、中断优先级和每个外设寄存器空间的数据结构。这样的自动生成过程可以帮助软件设计者处理硬件潜在的变化性。如果硬件改变了,SOPCBuilder会自动更新这些头文件。SOPCBuilder也会为系统中现有的每个外设生成定制的C和汇编函数库。例如,如果系统包括一个UART,SOPCBuilder就会访问UART的寄存器并定义一个C结构,生成通过UART发送和接收数据的C和汇编例程。,3.开放性SOPCBuilder开放了硬件和软件接口,允许第三方像Altera一样有效地管理SOPC部件,用户可以根据需要将自己设计的部件添加到SOPCBuilder的列表中。5.1.4SOPCBuilder的优点SOPCBuilder系统设计在利用可编程器件(PLD)的逻辑资源、存储器、DSP块、专用I/O上具备以下优势:,在逻辑容量、存储器和DSP块以及专用I/O标准上具有灵活性;上市周期快;没有非重复性工程(NRE)费用;不需要制作昂贵的设计工具;风险低,用户可以以实际的运行频率在硅片上验证他们的设计。,5.2SOPCBuilder设计流程,如图5.2所示,SOPCBuilder的设计流程包括两个阶段:配置(框图左边所示)和生成(框图右边所示)。它是利用ClassPTF和SystemPTF这两个文件来配置和生成系统流程的。,SOPCBuilderGUI引导用户完成两部分的配置:部件配置和系统配置。部件配置需要汇总参数,ClassPTF文件标准包括了为这一要求定义GUI的格式。当需要时,SOPCBuilder读取该格式,产生相应的部件向导(ComponentWizard),收集所需的用户数据。然后SOPCBuilder把收集的参数值存放在SystemPTF文件中。系统配置是指把用户提供的有关处理器的配置、外设连接等数据写入SystemPTF中。当这两部分配置都完成后,SOPCBuilder进入到生成阶段,生成设计的输出文件。SOPCBuilder查阅每个ClassPTF文件,允许相关的部件生成程序,它们会正确地输出特定系统配置的硬件和/或软件文件。,简单的部件生成程序可能每次都会输出相同的文件,更多的可配置部件则会根据用户输入生成完全不同的结构。例如,Nios处理器中包括的UART可以配置为软件控制波特率,以更多门换取更大的灵活性。这种配置选项由用户在部件配置阶段进行设置,根据这个设计,UART生成程序产生所需UART的硬件描述。在生成阶段的最后一步,SOPCBuilder创建适合于系统部件的总线结构,把所有的部件连接在一起。,图5.2系统生成流程,5.3SOPCBuilder用户界面,5.3.1系统元件页用户在系统元件页中定义所需的系统(如图5.3所示)。在它的模块池中包括了用户可获得的所有元件列表。在模块表中列出的是用户已经添加到系统中的模块。当用户用SOPCBuilder生成系统时,它就生成了一个系统模块,这个模块包含了用户所定义的所有元件和接口以及自动生成的总线(互联)逻辑。,1模块池在模块池中列出了根据总线类型和逻辑类别来分类的所有可用的库元件。每个元件名前面都有一个带颜色的圆点,不同的颜色代表不同的含义。(1)绿圆点:用户可以添加到用户系统中的元件是完全许可的。(2)黄圆点:元件在系统设计中的应用受到某种形式的限制,主要限制有使用时间有所限制和功能有所减少。(3)白圆点:元件目前还没有安装到用户的系统上,用户可以从网上下载这些元件。,图5.3系统元件页,用户可以使用模块池选择器来列出可用的元件,安装元件,从网上获取元件以及通过网络升级元件。如果用户有Internet链接,就可以查看来自Altera和AMPPsm最新的可用元件。要查看新元件,可点击Check按钮,最新的可获得的元件就会显示在升级页中;接着点击元件名和Add就可以将元件下载到本地。用右键点击元件就可以看到一个菜单,它包括了元件的详细信息,并且可以链接到相关的文件并升级元件。如果右键点击的已安装的元件是可以获得升级的,在弹出的菜单中就包含一个子菜单(以元件的版本号作标题),点击这个菜单就可以对元件进行升级。,2模块表模块表中列出的是用户添加到用户所设计的系统中的模块,包括桥、总线接口、CPU、存储器接口、外围设备等。此外,用户可以用模块表来描述以下一些项目:连接的主、从性;系统地址映射;系统中断请求分配;控制共享从元件的优先权。,3添加元件到模块表在模块池中点击要添加的元件名,然后点击Add,会出现以下两种情况中的一种:(1)对于可用的、已安装上的并有设置向导的元件,会出现一个对话框,让用户设定各种选项,设定完选项后再点击Finish,就可将元件添加到模块表中。如果元件没有选项对话框,它会被自动加到模块表中。(2)对于可用的但没有安装的元件,也会出现一个对话框,通过该对话框可链接到网上下载元件或从厂商处获取元件。安装元件后,用户就可以将它添加到用户所设计的系统中了。,如果点击View菜单并选中ShowMasterConnections选项,则在模块表的左边就会出现主、从元件的互联示意图。任何一个元件都可以有一个或多个主或从的接口。如果主元件和从元件使用同一个总线协议,则任何一个主元件都可以和任何一个从元件相连。如果使用的是不同的总线协议,则用户可以通过使用一个桥元件来把主、从元件连接起来,比如可使用AMBA-AHB-to-Avalon桥。当两个或多个主元件共享同一个从元件时,SOPCBuilder会自动插入一个判优器来控制对从元件的访问。当对一个从元件有多个请求同时发生时,判优器可以决定由哪个主元件来访问这个从元件。要查看仲裁优先权,可在View菜单里选中ShowArbitrationPriorities选项。,4附加设置系统元件页还包括以下一些附加选项:(1)器件系列(DeviceFamily):由用户从器件列表中选择用户的目标器件。这项设置非常重要,因为SOPCBuilder是利用所选器件系列的结构优势来产生系统的逻辑的。注意:Quartus软件不使用这个器件设置,用户还必须在Quartus软件中确定器件。(2)系统时钟频率(SystemClockFrequency):外围设备利用系统时钟来产生时钟分频或波特率等。SOPCBuilder的built-intestbench发生器还利用这项设置来产生用户所要求的频率。,5.3.2系统设置页当用户向所设计的系统中添加元件时,比如一个Nios嵌入式处理器,在SOPCBuilder中就会出现一个系统设置(More“CPU”Setting)的附加页。这个附加页可以让用户用来设置一些附加的参数或者与系统中其他元件的相连关系。比如,用户可以定义CPU和存储器元件之间的相连关系来指明哪一个是用来作程序存储器的,哪一个是用来作数据存储器的。对于用到系统设置页的元件,SOPCBuilder会对用户添加到用户系统中的这个元件的每种情况都生成一个单独的系统设置页。,另外,处理器元件可能会有相关的软件组件,并且会在这一页中显示出来。从实用程序库(UtilityLibraries)到实时操作系统都有软件组件的例子。Altera在开发工具包中提供了多种软件组件,比如由Nios开发工具包提供的Plugs库(轻量级TCP/IP库)。5.3.3系统生成页系统生成页是用来生成用户系统的。它包含一些选项,用户可以通过设置来控制生成过程,比如器件支持和仿真控制。在系统生成过程中,这一页会报告系统生成过程中的各种消息。图5.3所示即为系统生成页。,图5.3系统生成页,1SDK(SoftwareDevelopmentKid,软件开发工具包)用户选择了SDK选项,SOPCBuilder会在用户每一次生成系统的时候给用户系统中的每个CPU都生成一个专用的SDK。其中包含了对每个系统元件的各种软件文件(驱动、库和实用程序),这些文件在它们的库定义中给系统元件提供了软件支持。像Nios嵌入式处理器和Excalibur器件这类处理器元件,可以在生成过程中生成一些应用软件。,软件文件被分配在下面的一些目录里:(1)inc。该目录中包含的文件有.h和.s文件,这些文件包含了外围器件的地址、寄存器声明、中断号和一些作嵌入式应用软件开发的宏定义。excalibur.h和excalibur.s文件就包含了define申明,这些申明描述了内存映射和中断优先权。该目录还包括了针对软件程序和访问外围寄存器的C程序的一些基本函数。因为Nios处理器的机构和地址映射是可以配置的,所以软件开发时只能使用在inc目录下的文件中定义的符号来作为硬件参考。例5.1为excalibur.h的部分摘录。,例5.1excalibur.h的部分摘录/TheMemoryMap#definena_boot_monitor_rom(void*)0 x00000000)/altera_avalon_onchip_memory#definena_boot_monitor_rom_base0 x00000000#definena_boot_monitor_rom_end(void*)0 x00000400)#definena_boot_monitor_rom_size0 x00000400#definena_uart1(np_uart*)0 x00000400),/altera_avalon_uart#definena_uart1_base0 x00000400#definena_uart1_irq26#definena_timer1(np_timer*)0 x00000440)/altera_avalon_timer#definena_timer1_base0 x00000440#definena_timer1_irq25/-/TimerPeripheral/TimerRegisterstypedefvolatilestruct,intnp_timerstatus;/readonly,2bits(anywritetoclearTO)intnp_timercontrol;/write/readable,4bitsintnp_timerperiodl;/write/readable,16bitsintnp_timerperiodh;/write/readable,16bitsintnp_timersnapl;/readonly,16bitsintnp_timersnaph;/readonly,16bitsnp_timer;/TimerRegisterBitsenum,np_timerstatus_run_bit=1,/timerisrunningnp_timerstatus_to_bit=0,/timerhastimedoutnp_timercontrol_stop_bit=3,/stopthetimernp_timercontrol_start_bit=2,/startthetimernp_timercontrol_cont_bit=1,/continuousmodenp_timercontrol_ito_bit=0,/enabletimeoutinterruptnp_timerstatus_run_mask=(11),/timerisrunning,np_timerstatus_to_mask=(10),/timerhastimedoutnp_timercontrol_stop_mask=(13),/stopthetimernp_timercontrol_start_mask=(12),/startthetimernp_timercontrol_cont_mask=(11),/continuousmodenp_timercontrol_ito_mask=(10)/enabletimeoutinterrupt;/TimerRoutinesintnr_timer_milliseconds(void);/Startsonfirstcall,hogstimer1,其中,前缀na_和np_分别代表Nios地址和Nios外围设备。外围设备的基地址是由SOPCBuilder给分配的。用户必须将这些基地址指定为na_。类似地,可以以C语言中的结构类型来指定寄存器为np_。使用这些名称而不直接使用绝对地址,这样如果内存地址映射有所变化,用户也不用更改程序代码。(2)lib。该目录包含了一些库文件。如果元件支持GNU工具,SOPCBuilder就会在系统生成过程中编译库文件。,(3)src。该目录包含了源代码。用户可以用任何一种文本编辑器来更改源代码和为系统编写软件。用户可以使用Quartus的文本编辑器,它支持语法高亮显示C/C+。Altera推荐用户保存用户的源代码到下面的任意一个路径中:src目录;src目录下的一个子目录;在SDK中和src目录为同一级的目录。,注意:SDK只在Nios处理器系统中产生,若使用Nios处理器,则在生成选项中没有这一项。2HDL当用户选择了HDL选项时,SOPCBuilder就会以VerilogHDL或VHDL语言的形式生成系统级的硬件描述语言(HDL)文件。使用VerilogHDL还是VHDL,由用户在SOPCBuilder里建立系统时指定。HDL文件包括:(1)系统中每一个元件的实例。,(2)元件之间相互连接的总线逻辑,包括以下几项:地址译码器;数据总线多路复用器;对共享资源的仲裁器;复位生成和条件逻辑;中断优先权逻辑;动态总线宽度(使主设备适应从设备的或宽或窄的总线);在主、从设备接口之间的被动连接。,(3)仿真测试,包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狼嚎叫课件教学课件
- 安全教育文案培训总结课件
- 电气工程节能方案(3篇)
- 安全教育培训需求报告课件
- 农业产业链金融2025特色农产品电商平台创新研究评估报告
- 粮食贸易面试题库及答案
- 联合利华ai面试题库及答案
- 客户导向面试题库及答案
- 考研机构面试题库及答案
- 农业产业园项目2025年农业生态保护与效益评估报告
- 船舶电气小知识培训课件
- 2025版外墙保温涂料分包工程合同范例
- (2025秋新版)人教版八年级地理上册全册教案
- 2025年成人高考政治试题及答案
- 湘少版(三起)(2024)三年级上册英语全册教案
- 小屁孩日记阅读课件
- 2025年新生儿误吸(呛奶)应急预案演练脚本
- 医院网络信息安全培训
- (完整版)保安培训课件
- 异质结TCO设备:RPD与PVD比较分析(2021年).doc
- PPT汇报评分表(共1页)
评论
0/150
提交评论