第5讲 SOPC Builder使用简介_第1页
第5讲 SOPC Builder使用简介_第2页
第5讲 SOPC Builder使用简介_第3页
第5讲 SOPC Builder使用简介_第4页
第5讲 SOPC Builder使用简介_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具第第5讲讲 SOPC Builder开发工具开发工具 5.1 简介简介 5.2 SOPC Builder 设计流程设计流程5.3 SOPC Builder 用户界面用户界面 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具5.1 SOPC简介简介 5.1.1 可编程片上系统可编程片上系统(S OPC)技术简介技术简介SOPC(System On a Programmable Chip)是指用可编程逻辑技术把整个系统放到一块硅片上。SOPC是一种特殊的嵌入式系统。一方面,它是片上系统(

2、SOC),即由单个芯片完成整个系统的主要逻辑功能;另一方面,它是可编程系统,具有灵活的设计方式,可裁减、扩充、升级,并具备软硬件在系统可编程的功能。这项技术将EDA、计算机设计、嵌入式系统、DSP及数字通信系统等技术融为一体。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具SOPC结合了SOC和PLD、FPGA各自的优点,一般具备以下基本特征: 至少包含一个嵌入式处理器内核; 具有小容量片内高速RAM资源; 丰富的IP Core资源可供选择; 足够的片上可编程逻辑资源; 处理器调试接口和FPGA编程接口; 可包含部分可编程模拟电路; 单芯片、低功耗、微封装。

3、第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具随着EDA技术的发展和大规模可编程器件性能的不断提高,SOPC技术已被广泛应用于许多领域。(1) SOPC在极大提高了许多电子系统性能价格比的同时,还开辟了许多新的应用领域,如高端的数字信号处理、通信系统、软件无线电系统的设计、微处理器及大型计算机处理器的设计等等;(2) 由于SOPC具有基于EDA技术标准的设计语言与系统测试手段、规范的设计流程与多层次的仿真功能以及高效率的软硬件开发与实现技术,使得SOPC及其实现技术无可争议地成为现代电子技术最具时代特征的典型代表。第第5 5讲讲 SOPC BuilderSOP

4、C Builder开发开发工具工具与基于ASIC的SOC相比,SOPC具有更多的特点与吸引力:Application Specific Integrated Circuit专用集成电路System on Chip片上系统 开发软件成本低 硬件实现风险低 产品上市效率高 产品设计成本低 系统结构可重构及硬件可升级 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具5.1.2 SOPC Builder 简介简介SOPC Builder 是Altera公司推出的一种可加快在PLD内实现嵌入式处理器相关设计的工具。它是一个革命性的系统级开发工具,旨在提高设计者的效率。设计

5、者可确定所需要的处理器模块和参数,并据此创建一个处理器的完整存储器映射。设计者还可以选择所需的IP外围电路,如存储器控制器、I/O控制器和定时器等模块。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具SOPC Builder可以快速地开发定制新方案,重建已经存在的方案,并为其添加新的功能,提高系统的性能。通过自动集成系统组件,SOPC Builder允许用户将工作的重点集中到系统级的需求上,而不是从事把一系列的组件装配在一起这种普通的、手工的工作。所有版本的Altera Quartus的设计软件都已经包含了SOPC Builder。设计者采用SOPC Buil

6、der,能够在一个工具内定义一个从硬件到软件的完整系统,而花费的时间仅仅是传统SOC设计的几分之一。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具SOPC Builder提供了一个强大的平台,用于组建一个在模块级和组件级定义的系统。SOPC Builder的组件库包含了从简单的固定逻辑的功能块到复杂的、参数化的、可以动态生成的子系统等一系列的组件。这些组件可以是从Altera或其他合作伙伴处购买来的IP核,其中一些IP核是可以免费下载用来做评估的;用户还可简单地创建他们自己定制的SOPC Builder组件。SOPC Builder内建的IP核库是OpenC

7、ore Plus版的业界领先的Nios/Nios嵌入式软核处理器。所有的Quartus用户都能够把一个基于Nios/Nios处理器的系统经过生成、仿真和编译进而下载到Altera FPGA中,进行实时评估和验证。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具 SOPC Builder库中已有的组件包括: (1) 处理器:包括片内处理器和片外处理器的接口。(2) IP及外设:包括通用的微控制器外设,通信外设,多种接口(存储器接口、桥接口、ASSP、ASIC),数字信号处理(DSP)IP和硬件加速外设。5.1.3 SOPC Builder 的功能特点的功能特点1

8、. 具有直观的图形用户界面(GUI)利用图形用户界面,用户可以快速方便地定义和连接复杂的系统。如图5.1所示,用户可从左边的库中添加所需的部件,然后在右边的表中配置它们。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具图5.1 SOPC Builder的图形用户界面 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具2. 自动生成和集成软件与硬件SOPC Builder会生成每个硬件部件以及连接部件的片内总线结构,仲裁和中断逻辑。它也会产生系统可仿真的RTL描述以及为特定硬件配置设计的测试平台,能够把硬件系统综合到单个网表中。 另

9、外,SOPC Builder还能够生成C和汇编头文件,这些头文件定义了存储器映射、中断优先级和每个外设寄存器空间的数据结构。这样的自动生成过程可以帮助软件设计者处理硬件潜在的变化性。如果硬件改变了,SOPC Builder会自动更新这些头文件。SOPC Builder也会为系统中现有的每个外设生成定制的C和汇编函数库。例如,如果系统包括一个UART,SOPC Builder就会访问UART的寄存器并定义一个C结构,生成通过UART发送和接收数据的C和汇编例程。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具3. 开放性SOPC Builder开放了硬件和软件接

10、口,允许第三方像Altera一样有效地管理SOPC部件,用户可以根据需要将自己设计的部件添加到SOPC Builder 的列表中。5.1.4 SOPC Builder的优点的优点SOPC Builder系统设计在利用可编程器件(PLD)的逻辑资源、存储器、DSP块、专用I/O上具备以下优势:第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具 在逻辑容量、存储器和DSP块以及专用I/O标准上具有灵活性; 上市周期快; 没有非重复性工程(NRE)费用; 不需要制作昂贵的设计工具; 风险低,用户可以以实际的运行频率在硅片上验证他们的设计。 第第5 5讲讲 SOPC Bu

11、ilderSOPC Builder开发开发工具工具5.2 SOPC Builder 设计流程设计流程 如图5.2所示,SOPC Builder 的设计流程包括两个阶段:配置(框图左边所示)和生成(框图右边所示)。它是利用Class PTF和System PTF这两个文件来配置和生成系统流程的。第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具SOPC Builder GUI引导用户完成两部分的配置:部件配置和系统配置。部件配置需要汇总参数,Class PTF文件标准包括了为这一要求定义GUI的格式。当需要时,SOPC Builder读取该格式,产生相应的部件向导(

12、Component Wizard),收集所需的用户数据。然后SOPC Builder把收集的参数值存放在System PTF文件中。系统配置是指把用户提供的有关处理器的配置、外设连接等数据写入System PTF中。当这两部分配置都完成后,SOPC Builder进入到生成阶段,生成设计的输出文件。SOPC Builder查阅每个Class PTF文件,允许相关的部件生成程序,它们会正确地输出特定系统配置的硬件和/或软件文件。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具简单的部件生成程序可能每次都会输出相同的文件,更多的可配置部件则会根据用户输入生成完全不

13、同的结构。例如,Nios处理器中包括的UART可以配置为软件控制波特率,以更多门换取更大的灵活性。这种配置选项由用户在部件配置阶段进行设置,根据这个设计,UART生成程序产生所需UART的硬件描述。在生成阶段的最后一步,SOPC Builder创建适合于系统部件的总线结构,把所有的部件连接在一起。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具用户定义文件仿真文件Soft-wareFilesHDLFilesSystemPTFFileClassPTFFilesComponentWizardsSOPCBuilderGUIComponentGenerationSys

14、temGenerationSOPC配置SOPC生成输出文件图5.2 系统生成流程 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具5.3 SOPC Builder 用户界面用户界面 5.3.1 系统元件页系统元件页 用户在系统元件页中定义所需的系统(如图5.3所示)。在它的模块池中包括了用户可获得的所有元件列表。在模块表中列出的是用户已经添加到系统中的模块。当用户用SOPC Builder 生成系统时,它就生成了一个系统模块,这个模块包含了用户所定义的所有元件和接口以及自动生成的总线(互联)逻辑。 第第5 5讲讲 SOPC BuilderSOPC Builder

15、开发开发工具工具1模块池在模块池中列出了根据总线类型和逻辑类别来分类的所有可用的库元件。每个元件名前面都有一个带颜色的圆点,不同的颜色代表不同的含义。(1) 绿圆点:用户可以添加到用户系统中的元件是完全许可的。(2) 黄圆点:元件在系统设计中的应用受到某种形式的限制,主要限制有使用时间有所限制和功能有所减少。 (3) 白圆点:元件目前还没有安装到用户的系统上,用户可以从网上下载这些元件。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具 目 标 器 件 模 块 表系 统 时 钟模 块 池模 块 池选 择 器消 息 栏图5.3 系统元件页 第第5 5讲讲 SOPC

16、 BuilderSOPC Builder开发开发工具工具用户可以使用模块池选择器来列出可用的元件,安装元件,从网上获取元件以及通过网络升级元件。如果用户有Internet链接,就可以查看来自Altera和AMPPsm最新的可用元件。要查看新元件,可点击Check按钮,最新的可获得的元件就会显示在升级页中;接着点击元件名和Add 就可以将元件下载到本地。用右键点击元件就可以看到一个菜单,它包括了元件的详细信息,并且可以链接到相关的文件并升级元件。如果右键点击的已安装的元件是可以获得升级的,在弹出的菜单中就包含一个子菜单(以元件的版本号作标题),点击这个菜单就可以对元件进行升级。 第第5 5讲讲

17、SOPC BuilderSOPC Builder开发开发工具工具2模块表模块表中列出的是用户添加到用户所设计的系统中的模块,包括桥、总线接口、CPU、存储器接口、外围设备等。此外,用户可以用模块表来描述以下一些项目: 连接的主、从性; 系统地址映射; 系统中断请求分配;控制共享从元件的优先权。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具3添加元件到模块表在模块池中点击要添加的元件名,然后点击Add,会出现以下两种情况中的一种: (1) 对于可用的、已安装上的并有设置向导的元件,会出现一个对话框,让用户设定各种选项,设定完选项后再点击Finish, 就可将元

18、件添加到模块表中。如果元件没有选项对话框,它会被自动加到模块表中。(2) 对于可用的但没有安装的元件,也会出现一个对话框,通过该对话框可链接到网上下载元件或从厂商处获取元件。安装元件后,用户就可以将它添加到用户所设计的系统中了。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具如果点击View菜单并选中 Show Master Connections选项,则在模块表的左边就会出现主、从元件的互联示意图。任何一个元件都可以有一个或多个主或从的接口。如果主元件和从元件使用同一个总线协议,则任何一个主元件都可以和任何一个从元件相连。如果使用的是不同的总线协议,则用户可

19、以通过使用一个桥元件来把主、从元件连接起来,比如可使用AMBA-AHB-to-Avalon桥。当两个或多个主元件共享同一个从元件时,SOPC Builder 会自动插入一个判优器来控制对从元件的访问。当对一个从元件有多个请求同时发生时,判优器可以决定由哪个主元件来访问这个从元件。要查看仲裁优先权,可在View菜单里选中Show Arbitration Priorities选项。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具4附加设置系统元件页还包括以下一些附加选项:(1) 器件系列(Device Family):由用户从器件列表中选择用户的目标器件。这项设置

20、非常重要,因为SOPC Builder 是利用所选器件系列的结构优势来产生系统的逻辑的。注意:Quartus软件不使用这个器件设置,用户还必须在Quartus软件中确定器件。(2) 系统时钟频率(System Clock Frequency):外围设备利用系统时钟来产生时钟分频或波特率等。SOPC Builder的built-in testbench 发生器还利用这项设置来产生用户所要求的频率。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具5.3.2 系统设置页系统设置页当用户向所设计的系统中添加元件时,比如一个Nios 嵌入式处理器,在SOPC Build

21、er 中就会出现一个系统设置(More “CPU” Setting)的附加页。这个附加页可以让用户用来设置一些附加的参数或者与系统中其他元件的相连关系。比如,用户可以定义CPU和存储器元件之间的相连关系来指明哪一个是用来作程序存储器的,哪一个是用来作数据存储器的。对于用到系统设置页的元件,SOPC Builder会对用户添加到用户系统中的这个元件的每种情况都生成一个单独的系统设置页。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具另外,处理器元件可能会有相关的软件组件,并且会在这一页中显示出来。从实用程序库(Utility Libraries)到实时操作系统都

22、有软件组件的例子。Altera在开发工具包中提供了多种软件组件,比如由Nios 开发工具包提供的Plugs 库(轻量级TCP/IP库)。5.3.3 系统生成页系统生成页系统生成页是用来生成用户系统的。它包含一些选项,用户可以通过设置来控制生成过程,比如器件支持和仿真控制。在系统生成过程中,这一页会报告系统生成过程中的各种消息。图5.3所示即为系统生成页。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具SDK使能HDL使能使能ModelSim生成仿真文件运行ModelSim 软件系统生成过程消息栏SOPC Builder消息栏图5.3 系统生成页 第第5 5讲讲

23、 SOPC BuilderSOPC Builder开发开发工具工具1SDK(Software Development Kid,软件开发工具包)用户选择了SDK选项,SOPC Builder 会在用户每一次生成系统的时候给用户系统中的每个CPU都生成一个专用的SDK。其中包含了对每个系统元件的各种软件文件(驱动、库和实用程序),这些文件在它们的库定义中给系统元件提供了软件支持。像Nios 嵌入式处理器和Excalibur器件这类处理器元件,可以在生成过程中生成一些应用软件。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具软件文件被分配在下面的一些目录里:(1)

24、inc。该目录中包含的文件有.h和.s文件,这些文件包含了外围器件的地址、寄存器声明、中断号和一些作嵌入式应用软件开发的宏定义。excalibur.h和excalibur.s文件就包含了define申明,这些申明描述了内存映射和中断优先权。该目录还包括了针对软件程序和访问外围寄存器的C程序的一些基本函数。因为Nios处理器的机构和地址映射是可以配置的,所以软件开发时只能使用在inc目录下的文件中定义的符号来作为硬件参考。例5.1为excalibur.h的部分摘录。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具例5.1 excalibur.h的部分摘录 / T

25、he Memory Map #define na_boot_monitor_rom (void *) 0 x00000000) / altera_avalon_onchip_memory #define na_boot_monitor_rom_base 0 x00000000 #define na_boot_monitor_rom_end (void *) 0 x00000400) #define na_boot_monitor_rom_size 0 x00000400 #define na_uart1 (np_uart *) 0 x00000400) 第第5 5讲讲 SOPC Builder

26、SOPC Builder开发开发工具工具 / altera_avalon_uart #define na_uart1_base 0 x00000400 #define na_uart1_irq 26 #define na_timer1 (np_timer *) 0 x00000440) / altera_avalon_timer #define na_timer1_base 0 x00000440 #define na_timer1_irq 25 / - / Timer Peripheral / Timer Registers typedef volatile struct第第5 5讲讲 SO

27、PC BuilderSOPC Builder开发开发工具工具 int np_timerstatus; / read only, 2 bits (any write to clear TO) int np_timercontrol; / write/readable, 4 bits int np_timerperiodl; / write/readable, 16 bits int np_timerperiodh; / write/readable, 16 bits int np_timersnapl; / read only, 16 bits int np_timersnaph; / read

28、 only, 16 bits np_timer; / Timer Register Bits enum 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具np_timerstatus_run_bit = 1, / timer is runningnp_timerstatus_to_bit = 0, / timer has timed outnp_timercontrol_stop_bit = 3, / stop the timernp_timercontrol_start_bit = 2, / start the timernp_timercontrol_cont

29、_bit = 1, / continuous modenp_timercontrol_ito_bit = 0, / enable time out interruptnp_timerstatus_run_mask = (11), / timer is running第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具np_timerstatus_to_mask = (10), / timer has timed outnp_timercontrol_stop_mask = (13), / stop the timernp_timercontrol_start_mas

30、k = (12), / start the timernp_timercontrol_cont_mask = (11), / continuous modenp_timercontrol_ito_mask = (10) / enable time out interrupt;/ Timer Routinesint nr_timer_milliseconds(void);/ Starts on first call, hogs timer1 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具其中,前缀na_和np_分别代表Nios 地址和Nios外围设备。外围设备的

31、基地址是由SOPC Builder 给分配的。用户必须将这些基地址指定为 na_。类似地,可以以C语言中的结构类型来指定寄存器为np_。使用这些名称而不直接使用绝对地址,这样如果内存地址映射有所变化,用户也不用更改程序代码。(2) lib。该目录包含了一些库文件。如果元件支持GNU工具,SOPC Builder就会在系统生成过程中编译库文件。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具 (3) src。该目录包含了源代码。用户可以用任何一种文本编辑器来更改源代码和为系统编写软件。用户可以使用Quartus的文本编辑器,它支持语法高亮显示C/C+。Alter

32、a 推荐用户保存用户的源代码到下面的任意一个路径中: src目录; src目录下的一个子目录;在SDK中和src目录为同一级的目录。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具注意:SDK只在Nios处理器系统中产生,若使用Nios处理器,则在生成选项中没有这一项。2HDL当用户选择了HDL选项时,SOPC Builder就会以Verilog HDL或VHDL语言的形式生成系统级的硬件描述语言(HDL)文件。使用Verilog HDL 还是VHDL,由用户在SOPC Builder 里建立系统时指定。HDL文件包括:(1) 系统中每一个元件的实例。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具(2) 元件之间相互连接的总线逻辑,包括以下几项: 地址译码器; 数据总线多路复用器; 对共享资源的仲裁器; 复位生成和条件逻辑; 中断优先权逻辑; 动态总线宽度(使主设备适应从设备的或宽或窄的总线);在主、从设备接口之间的被动连接。 第第5 5讲讲 SOPC BuilderSOPC Builder开发开发工具工具(3) 仿真测试

温馨提示

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

评论

0/150

提交评论