SOPCBuilder使用简介.ppt

上传人:小飞机 文档编号:5448829 上传时间:2023-07-08 格式:PPT 页数:45 大小:831KB
返回 下载 相关 举报
SOPCBuilder使用简介.ppt_第1页
第1页 / 共45页
SOPCBuilder使用简介.ppt_第2页
第2页 / 共45页
SOPCBuilder使用简介.ppt_第3页
第3页 / 共45页
SOPCBuilder使用简介.ppt_第4页
第4页 / 共45页
SOPCBuilder使用简介.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《SOPCBuilder使用简介.ppt》由会员分享,可在线阅读,更多相关《SOPCBuilder使用简介.ppt(45页珍藏版)》请在三一办公上搜索。

1、第5讲 SOPC Builder开发工具,5.1 简介 5.2 SOPC Builder 设计流程5.3 SOPC Builder 用户界面,5.1 SOPC简介,5.1.1 可编程片上系统(S OPC)技术简介SOPC(System On a Programmable Chip)是指用可编程逻辑技术把整个系统放到一块硅片上。SOPC是一种特殊的嵌入式系统。一方面,它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;另一方面,它是可编程系统,具有灵活的设计方式,可裁减、扩充、升级,并具备软硬件在系统可编程的功能。这项技术将EDA、计算机设计、嵌入式系统、DSP及数字通信系统等技术融

2、为一体。,SOPC结合了SOC和PLD、FPGA各自的优点,一般具备以下基本特征:,至少包含一个嵌入式处理器内核;具有小容量片内高速RAM资源;丰富的IP Core资源可供选择;足够的片上可编程逻辑资源;处理器调试接口和FPGA编程接口;可包含部分可编程模拟电路;单芯片、低功耗、微封装。,随着EDA技术的发展和大规模可编程器件性能的不断提高,SOPC技术已被广泛应用于许多领域。,(1)SOPC在极大提高了许多电子系统性能价格比的同时,还开辟了许多新的应用领域,如高端的数字信号处理、通信系统、软件无线电系统的设计、微处理器及大型计算机处理器的设计等等;(2)由于SOPC具有基于EDA技术标准的设

3、计语言与系统测试手段、规范的设计流程与多层次的仿真功能以及高效率的软硬件开发与实现技术,使得SOPC及其实现技术无可争议地成为现代电子技术最具时代特征的典型代表。,与基于ASIC的SOC相比,SOPC具有更多的特点与吸引力:,Application Specific Integrated Circuit专用集成电路,System on Chip片上系统,开发软件成本低 硬件实现风险低 产品上市效率高 产品设计成本低 系统结构可重构及硬件可升级,5.1.2 SOPC Builder 简介SOPC Builder 是Altera公司推出的一种可加快在PLD内实现嵌入式处理器相关设计的工具。它是一个

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

5、从硬件到软件的完整系统,而花费的时间仅仅是传统SOC设计的几分之一。,SOPCBuilder提供了一个强大的平台,用于组建一个在模块级和组件级定义的系统。SOPCBuilder的组件库包含了从简单的固定逻辑的功能块到复杂的、参数化的、可以动态生成的子系统等一系列的组件。这些组件可以是从Altera或其他合作伙伴处购买来的IP核,其中一些IP核是可以免费下载用来做评估的;用户还可简单地创建他们自己定制的SOPC Builder组件。SOPC Builder内建的IP核库是OpenCore Plus版的业界领先的Nios/Nios嵌入式软核处理器。所有的Quartus用户都能够把一个基于Nios/

6、Nios处理器的系统经过生成、仿真和编译进而下载到Altera FPGA中,进行实时评估和验证。,SOPC Builder库中已有的组件包括:(1)处理器:包括片内处理器和片外处理器的接口。(2)IP及外设:包括通用的微控制器外设,通信外设,多种接口(存储器接口、桥接口、ASSP、ASIC),数字信号处理(DSP)IP和硬件加速外设。5.1.3 SOPC Builder 的功能特点1.具有直观的图形用户界面(GUI)利用图形用户界面,用户可以快速方便地定义和连接复杂的系统。如图5.1所示,用户可从左边的库中添加所需的部件,然后在右边的表中配置它们。,图5.1 SOPC Builder的图形用户

7、界面,2.自动生成和集成软件与硬件SOPC Builder会生成每个硬件部件以及连接部件的片内总线结构,仲裁和中断逻辑。它也会产生系统可仿真的RTL描述以及为特定硬件配置设计的测试平台,能够把硬件系统综合到单个网表中。另外,SOPC Builder还能够生成C和汇编头文件,这些头文件定义了存储器映射、中断优先级和每个外设寄存器空间的数据结构。这样的自动生成过程可以帮助软件设计者处理硬件潜在的变化性。如果硬件改变了,SOPC Builder会自动更新这些头文件。SOPC Builder也会为系统中现有的每个外设生成定制的C和汇编函数库。例如,如果系统包括一个UART,SOPC Builder就会

8、访问UART的寄存器并定义一个C结构,生成通过UART发送和接收数据的C和汇编例程。,3.开放性SOPC Builder开放了硬件和软件接口,允许第三方像Altera一样有效地管理SOPC部件,用户可以根据需要将自己设计的部件添加到SOPC Builder 的列表中。5.1.4 SOPC Builder的优点SOPC Builder系统设计在利用可编程器件(PLD)的逻辑资源、存储器、DSP块、专用I/O上具备以下优势:,在逻辑容量、存储器和DSP块以及专用I/O标准上具有灵活性;上市周期快;没有非重复性工程(NRE)费用;不需要制作昂贵的设计工具;风险低,用户可以以实际的运行频率在硅片上验证

9、他们的设计。,5.2 SOPC Builder 设计流程,如图5.2所示,SOPC Builder 的设计流程包括两个阶段:配置(框图左边所示)和生成(框图右边所示)。它是利用Class PTF和System PTF这两个文件来配置和生成系统流程的。,SOPC Builder GUI引导用户完成两部分的配置:部件配置和系统配置。部件配置需要汇总参数,Class PTF文件标准包括了为这一要求定义GUI的格式。当需要时,SOPC Builder读取该格式,产生相应的部件向导(Component Wizard),收集所需的用户数据。然后SOPC Builder把收集的参数值存放在System PT

10、F文件中。系统配置是指把用户提供的有关处理器的配置、外设连接等数据写入System PTF中。当这两部分配置都完成后,SOPC Builder进入到生成阶段,生成设计的输出文件。SOPC Builder查阅每个Class PTF文件,允许相关的部件生成程序,它们会正确地输出特定系统配置的硬件和/或软件文件。,简单的部件生成程序可能每次都会输出相同的文件,更多的可配置部件则会根据用户输入生成完全不同的结构。例如,Nios处理器中包括的UART可以配置为软件控制波特率,以更多门换取更大的灵活性。这种配置选项由用户在部件配置阶段进行设置,根据这个设计,UART生成程序产生所需UART的硬件描述。在生

11、成阶段的最后一步,SOPC Builder创建适合于系统部件的总线结构,把所有的部件连接在一起。,图5.2 系统生成流程,5.3 SOPC Builder 用户界面,5.3.1 系统元件页 用户在系统元件页中定义所需的系统(如图5.3所示)。在它的模块池中包括了用户可获得的所有元件列表。在模块表中列出的是用户已经添加到系统中的模块。当用户用SOPC Builder 生成系统时,它就生成了一个系统模块,这个模块包含了用户所定义的所有元件和接口以及自动生成的总线(互联)逻辑。,1模块池在模块池中列出了根据总线类型和逻辑类别来分类的所有可用的库元件。每个元件名前面都有一个带颜色的圆点,不同的颜色代表

12、不同的含义。(1)绿圆点:用户可以添加到用户系统中的元件是完全许可的。(2)黄圆点:元件在系统设计中的应用受到某种形式的限制,主要限制有使用时间有所限制和功能有所减少。(3)白圆点:元件目前还没有安装到用户的系统上,用户可以从网上下载这些元件。,图5.3 系统元件页,用户可以使用模块池选择器来列出可用的元件,安装元件,从网上获取元件以及通过网络升级元件。如果用户有Internet链接,就可以查看来自Altera和AMPPsm最新的可用元件。要查看新元件,可点击Check按钮,最新的可获得的元件就会显示在升级页中;接着点击元件名和Add 就可以将元件下载到本地。用右键点击元件就可以看到一个菜单,

13、它包括了元件的详细信息,并且可以链接到相关的文件并升级元件。如果右键点击的已安装的元件是可以获得升级的,在弹出的菜单中就包含一个子菜单(以元件的版本号作标题),点击这个菜单就可以对元件进行升级。,2模块表模块表中列出的是用户添加到用户所设计的系统中的模块,包括桥、总线接口、CPU、存储器接口、外围设备等。此外,用户可以用模块表来描述以下一些项目:连接的主、从性;系统地址映射;系统中断请求分配;控制共享从元件的优先权。,3添加元件到模块表在模块池中点击要添加的元件名,然后点击Add,会出现以下两种情况中的一种:(1)对于可用的、已安装上的并有设置向导的元件,会出现一个对话框,让用户设定各种选项,

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

15、,比如可使用AMBA-AHB-to-Avalon桥。当两个或多个主元件共享同一个从元件时,SOPC Builder 会自动插入一个判优器来控制对从元件的访问。当对一个从元件有多个请求同时发生时,判优器可以决定由哪个主元件来访问这个从元件。要查看仲裁优先权,可在View菜单里选中Show Arbitration Priorities选项。,4附加设置系统元件页还包括以下一些附加选项:(1)器件系列(Device Family):由用户从器件列表中选择用户的目标器件。这项设置非常重要,因为SOPC Builder 是利用所选器件系列的结构优势来产生系统的逻辑的。注意:Quartus软件不使用这个器

16、件设置,用户还必须在Quartus软件中确定器件。(2)系统时钟频率(System Clock Frequency):外围设备利用系统时钟来产生时钟分频或波特率等。SOPC Builder的built-in testbench 发生器还利用这项设置来产生用户所要求的频率。,5.3.2 系统设置页当用户向所设计的系统中添加元件时,比如一个Nios 嵌入式处理器,在SOPC Builder 中就会出现一个系统设置(More“CPU”Setting)的附加页。这个附加页可以让用户用来设置一些附加的参数或者与系统中其他元件的相连关系。比如,用户可以定义CPU和存储器元件之间的相连关系来指明哪一个是用来

17、作程序存储器的,哪一个是用来作数据存储器的。对于用到系统设置页的元件,SOPC Builder会对用户添加到用户系统中的这个元件的每种情况都生成一个单独的系统设置页。,另外,处理器元件可能会有相关的软件组件,并且会在这一页中显示出来。从实用程序库(Utility Libraries)到实时操作系统都有软件组件的例子。Altera在开发工具包中提供了多种软件组件,比如由Nios 开发工具包提供的Plugs 库(轻量级TCP/IP库)。5.3.3 系统生成页系统生成页是用来生成用户系统的。它包含一些选项,用户可以通过设置来控制生成过程,比如器件支持和仿真控制。在系统生成过程中,这一页会报告系统生成

18、过程中的各种消息。图5.3所示即为系统生成页。,图5.3 系统生成页,1SDK(Software Development Kid,软件开发工具包)用户选择了SDK选项,SOPC Builder 会在用户每一次生成系统的时候给用户系统中的每个CPU都生成一个专用的SDK。其中包含了对每个系统元件的各种软件文件(驱动、库和实用程序),这些文件在它们的库定义中给系统元件提供了软件支持。像Nios 嵌入式处理器和Excalibur器件这类处理器元件,可以在生成过程中生成一些应用软件。,软件文件被分配在下面的一些目录里:(1)inc。该目录中包含的文件有.h和.s文件,这些文件包含了外围器件的地址、寄存

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

20、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),/altera_avalon_uart#define na_uart1_base 0 x00000400#define na_uart1_irq 26#define na_timer1(np_timer*)0 x00000440)/a

21、ltera_avalon_timer#define na_timer1_base 0 x00000440#define na_timer1_irq 25/-/Timer Peripheral/Timer Registerstypedef volatile struct,int np_timerstatus;/read only,2 bits(any write to clear TO)int np_timercontrol;/write/readable,4 bitsint np_timerperiodl;/write/readable,16 bitsint np_timerperiodh;/

22、write/readable,16 bitsint np_timersnapl;/read only,16 bitsint np_timersnaph;/read only,16 bits np_timer;/Timer Register Bitsenum,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 time

23、rnp_timercontrol_cont_bit=1,/continuous modenp_timercontrol_ito_bit=0,/enable time out interruptnp_timerstatus_run_mask=(11),/timer is running,np_timerstatus_to_mask=(10),/timer has timed outnp_timercontrol_stop_mask=(13),/stop the timernp_timercontrol_start_mask=(12),/start the timernp_timercontrol

24、_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,其中,前缀na_和np_分别代表Nios 地址和Nios外围设备。外围设备的基地址是由SOPC Builder 给分配的。用户必须将这些基地址指定为 na_。类似地,可以以C语言中的结构类型来指定寄存器为np_。使用这些名称而不直接使用绝对地址,这样如果内存地址

25、映射有所变化,用户也不用更改程序代码。(2)lib。该目录包含了一些库文件。如果元件支持GNU工具,SOPC Builder就会在系统生成过程中编译库文件。,(3)src。该目录包含了源代码。用户可以用任何一种文本编辑器来更改源代码和为系统编写软件。用户可以使用Quartus的文本编辑器,它支持语法高亮显示C/C+。Altera 推荐用户保存用户的源代码到下面的任意一个路径中:src目录;src目录下的一个子目录;在SDK中和src目录为同一级的目录。,注意:SDK只在Nios处理器系统中产生,若使用Nios处理器,则在生成选项中没有这一项。2HDL当用户选择了HDL选项时,SOPC Buil

26、der就会以Verilog HDL或VHDL语言的形式生成系统级的硬件描述语言(HDL)文件。使用Verilog HDL 还是VHDL,由用户在SOPC Builder 里建立系统时指定。HDL文件包括:(1)系统中每一个元件的实例。,(2)元件之间相互连接的总线逻辑,包括以下几项:地址译码器;数据总线多路复用器;对共享资源的仲裁器;复位生成和条件逻辑;中断优先权逻辑;动态总线宽度(使主设备适应从设备的或宽或窄的总线);在主、从设备接口之间的被动连接。,(3)仿真测试,包括:验证系统模块;用默认的驱动时钟和复位输入;如果提供了系统的外部元件(如存储器模块),就会对这些模块进行验证和连接。3仿真

27、如果选择了Simulation选项,在系统生成过程中,SOPC Builder 会创建一个ModelSim 的工程目录,这个目录包括以下项目:,所有存储器元件的仿真数据;setup_sim.do文件,它包含启动设置和其他对仿真生成系统的设置;wave_preset.do文件,它包含一个对总线接口波形的初始化设置;一个当前系统的ModelSim工程文件(.mpf)。用户可以通过在SOPC Builder 中点击Run ModelSim 按钮来启动ModelSim软件。如果ModelSim 软件不在当前路径下,则用SOPC Builder Setup(File 菜单中)来更改它的路径设置。,5.3

28、.4 生成系统建立系统并进行生成选项设置后,用户就可以点击Generate按钮来生成所设计的系统。这个按钮可在任何一个SOPC Builder的用户界面中使用。点击Generate按钮后,SOPC Builder会创建以下一些项目:SDK(针对Nios系统);系统中每一个元件的HDL文件;一个对于顶层系统模块的符号文件(.bsf);ModelSim 文件;一个Tcl 脚本文件,它建立了所有Quartus编辑所需的文件。,在生成进行的过程中,SOPC Builder 会在系统生成过程信息栏中显示一些消息。系统生成完成后,SOPC Builder会显示信息“Generation Complete”,并在用户所创建的项目的根目录下生成一个日志(log)文件。5.3.5 SOPC Builder 菜单命令表5.1所示为在SOPC Builder中可用的菜单命令。,表5.1 在SOPC Builder中可用的菜单命令,表略,思考题,1.什么是SOPC技术?它的基本特征有哪些?2.SOPC Builder 有哪些功能特点?3.查看所安装的SOPC Builder 中的模块池,都有哪些可供用户调用的模块?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号