第3章 Quartus Ⅱ 软件开发指南 基于EDA技术进行电子系统设计,需要运用EDA工具。本章介绍EDA软件工具Quartus Ⅱ的设计流程,然后基于Quartus Ⅱ13.0实现一个设计实例。 3.1Quartus Ⅱ设计流程 Quartus Ⅱ是Altera公司在21世纪推出的FPGA/CPLD开发环境,是Altera前一代FPGA/CPLD集成开发环境MAX+PlusⅡ的更新换代产品,其功能强大,界面友好,使用便捷。Quartus Ⅱ软件集成了Altera公司的FPGA/CPLD开发流程中涉及的所有工具和第三方软件接口。通过使用此开发工具,设计者可以创建、组织和管理自己的设计。 Quartus Ⅱ具有以下特点: (1) 支持多时钟定时分析、LogicLockTM基于块的设计、SOPC(可编程片上系统)、内嵌SignalTap Ⅱ逻辑分析器和功率估计器等高级工具。 (2) 易于引脚分配和时序约束。 (3) 强大的HDL综合能力。 (4) 包含MaxplusⅡ的GUI,且容易使MaxplusⅡ的工程平稳过渡到Quartus Ⅱ开发环境。 (5) 对于Fmax的设计具有很好的效果。 (6) 支持的器件种类众多。 (7) 支持Windows、Solaris、HPUX和Linux等多种操作系统。 (8) 提供第三方工具,如综合、仿真等的链接。 Quartus Ⅱ软件支持的器件包括: ①FPGA,主要有高档Stratix系列、中档Arria系列、低档Cyclone系列;②CPLD,主要有MAXⅡ系列、MAX3000A系列、MAX7000系列和MAX9000系列等。 Quartus Ⅱ软件提供了完整的多平台设计环境,能够直接满足设计要求,为可编程器件提供了全面的设计环境。Quartus Ⅱ软件为设计流程的每个阶段提供图形用户界面、EDA工具界面以及命令行界面。在整个设计流程过程中,可只使用其中的一个界面,也可以在设计流程不同阶段使用不同界面。使用Quartus Ⅱ软件可以完成设计流程的所有阶段,它是一个全面的易于使用的独立解决方案。 典型的Quartus Ⅱ设计流程如图31所示。结合本流程,本节将逐步介绍设计输入编辑、综合、仿真、编程和配置。 图31Quartus Ⅱ的设计流程 1. 设计输入(Design Entry) (1) 文本编辑器(Text Editor)用于以AHDL、VHDL和Verilog HDL语言以及Tcl脚本语言输入文本型设计。 (2) 模块编辑器(Block Editor)用于以原理图和框图的形式输入和编辑图形设计信息。 (3) 符号编辑器(Symbol Editor)用于查看和编辑代表宏功能、宏功能模块、基本单元或设计文件的预定义符号。 (4) 使用MegaWizard Plugin Manager建立Altera宏功能模块、LPM功能和IP功能,用于Quartus Ⅱ软件和EDA设计输入与综合工具中的设计。 设计输入即使用Quartus Ⅱ软件的模块编辑器、文本编辑器、MegaWizard插件管理器和EDA设计输入工具等,以表达用户的电路构思,同时使用分配编辑器(Assignment Editor)设定初始约束条件。 2. 综合(Synthesis) 综合是将HDL语言、原理图等设计输入翻译成由与门、或门、非门、RAM和触发器等基本逻辑单元组成的逻辑链接(网络表),并根据目标与要求(约束条件)优化所生成的逻辑链接,输出edf网表文件或vqm映射文件等标准格式,供布局布线器实现。除了用Quartus Ⅱ软件的“Analysis & Synthesis”命令进行综合外,也可使用第三方综合工具生成与Quartus Ⅱ软件配合使用的edf或vqm文件。 (1) 可以使用分析和综合(Analysis & Synthesis)模块分析设计文件,建立工程数据库。 (2) 设计助手(Design Assistant)依据设计规则,检查设计的可靠性。 (3) 通过RTL Viewer可以查看设计的原理图。 (4) Technology Map Viewer提供设计的底级或基元级专用技术原理表征。 (5) 增量综合(Incremental Synthesis)是自上而下渐进式编译流程的组成部分,可以将设计中的实体指定为设计分区,在此基础上逐渐进行Analysis & Synthesis,而不会影响工程的其他部分。 3. 布局布线(Place & Route) 布局布线输入文件是综合后的网络表文件,Quartus Ⅱ软件中布局布线是将工程的逻辑和时序要求与器件的可利用资源相匹配。它将每个逻辑功能分配给最佳逻辑单元位置,进行布线和时序分析,并选定相应的互连路径和引脚分配。 4. 仿真(Simulation) 仿真分为功能仿真和时序仿真。 功能仿真(Functional Simulation)用来验证电路功能是否符合设计要求; VHDL仿真器允许定义输入并应用到设计中,不必生成实际电路就可以观察输出。此仿真主要用于检测系统功能设计的正确性,不涉及具体器件的硬件特性。 时序仿真(Timing Simulation)包含了延时信息,能较好地反映芯片的工作情况。可以使用Quartus Ⅱ集成的仿真工具进行仿真,也可以使用第三方工具对设计进行仿真,如ModelSim仿真工具。 根据适配后的仿真模型,可以进行时序仿真。 5. 编程和配置(Programming & Configuration) 在全编译成功后,对Altera器件进行编程和配置,包括Assemble(生成编程文件)、Programmer (建立包含设计所用器件名称和选项的链式文件)和转换编程文件等。下载到CPLD/FPGA(Programming)。如果时序仿真通过,那么可以将“适配”时产生的器件编程文件下载到CPLD或FPGA中(FPGA的编程通常称为“配置”)。还可以使用Quartus Ⅱ Programmer的独立版本对器件进行编程和配置。 6. 调试(Debugging) SignalTap Ⅱ逻辑分析仪和SignalProbe功能可以分析内部器件节点和I/O引脚,同时在系统内以系统速度运行。SignalTap Ⅱ逻辑分析器可以捕获和显示FPGA内部的实时信号行为。SignalTap Ⅱ可以在不影响设计现有布局布线的情况下将内部电路中特定的信号迅速布线到输出引脚,从而无须对整个设计另做一次全编译。 用于调试的工具有SignalTap Ⅱ逻辑分析仪、SignalProbe功能、Chip Editor、RTL Viewer及Technology Map Viewer。 7. 功耗分析(Power Analysis) 功耗分析用以进行设计的功耗分析,可以设定初始化功耗分析过程中的触发速率和静态几率,以及是否需要将功耗分析过程中使用的信号活动写入到输出文件,还可以指定基于实体的触发速率。对于有些器件,Quartus Ⅱ软件将分析设计拓扑和功能,填补任何丢失的信号活动信息。 8. 时序分析(Timing Analysis) 时序分析在完整编译期间自动对设计进行时序分析。 9. 时序逼近(Timing Closure) 可以使用时序逼近平面布局图查看Fitter生成的逻辑布局,查看用户分配、LogicLock区域分配以及设计的布线信息。可以使用这些信息在设计中识别关键路径,进行时序分配、位置分配和LogicLock区域分配,达到时序逼近。 10. 工程更改管理(Engineering Change Management) Quartus Ⅱ软件允许在完整编译之后对设计进行小的更改,称作工程更改记录(ECO)。可直接对设计数据库进行ECO更改,而不是更改源代码或Quartus Ⅱ Settings和Configuration文件(.qsf)。对设计数据库做ECO更改可避免实施一个小的更改而运行完整的编译。 3.2基于Quartus Ⅱ 的设计实例 Quartus Ⅱ设计步骤为: (1) 建立工程文件夹。 (2) 建立工程: File/New Project Wizard。 目标器件选择DE2实验板上的FPGA芯片Cyclone Ⅱ系列EP2C35F672C6。 指定工作目录,指定工程实体名称,加入工程文件,选择器件,设定EDA工具。 (3) 建立VHDL文件: File/New/ VHDL File。 (4) 设置顶层实体: Project/Set as TopLevel Entity。 (5) 编译原理图: Processing/Start Compilation。 (6) 建立仿真激励文件: File/New/ University Program VWF。 Insert Node or Bus,输入变量赋值; 设置时钟、输入变量; 保存。 (7) 波形仿真: Simulation。 (8) 器件引脚定义: Assignments/Pin。 (9) 下载: Tools/Programmer。 分频电路是数字电路系统中的重要单元,本节以10分频电路为例,介绍VHDL设计实现的全过程。 EDA软件开发环境为Quartus Ⅱ 13.0; FPGA芯片为ALTERA公司Cyclone Ⅱ EP2C35F672C6; 实验装置DE2开发板。本节通过设计输入、综合、仿真、编程配置对分频器电路的进行硬件实现。下面介绍该电路的具体实现过程。 运行Quartus Ⅱ 13.0程序。双击桌面上Quartus Ⅱ图标运行软件,可能会出现其他信息提示,用户根据自己实际情况进行选择,而后进入如图32所示的界面。 图32Quartus Ⅱ软件默认界面 3.2.1设计输入 1. 创建工程 在计算机上创建文件夹,要求用英文或数字命名,不能用中文命名。使用New Project Wizard命令创建一个新工程。 (1) 在Quartus Ⅱ软件界面下,执行菜单命令File→New Project Wizard,如图33所示。 (2) 弹出创建工程指南窗口,如图34所示,单击Next按钮。 (3) 弹出工程命名窗口,如图35所示。 在该对话框中,指定工作目录、工程名、顶层文件名。需注意的是,工程名必须与设计的顶层实体名一致,且工程名和实体名应为字母开头的数字串,否则编辑会报错。这里创建一个工程名为exp1,顶层文件名也为exp1,大小写不敏感。单击Next按钮。 (4) 弹出设计文件选择页面,如图36所示。 在该对话框中,可空白,也可将已设计好的文件加入项目中。这里可以加入VHDL源程序,也可以加入第三方综合后的网表文件。通常,添加的源文件已经复制到工程的文件夹中。本范例此处空白,单击Next按钮。 (5) 进入器件族类型选择页面,如图37所示。 在该对话框中,指定目标芯片,在Device family下拉列表框中选择器件系列,相应地在Available device列表中会列出该系列的器件型号。 图33创建新工程 图34创建工程指南窗口 图35创建工程指南窗口1 图36创建工程指南窗口2 图37创建工程指南窗口3 为了快速找到所需器件,可以在Package、Pin count、Speed grade下拉列表框中分别选择器件的封装、引脚数与速度等级。这里目标器件选择DE2实验板上的FPGA芯片Cyclone Ⅱ系列EP2C35F672C6。单击Next按钮。 (6) 弹出工具设置页面,如图38所示。在对话框中,可以指定第三方EDA综合、仿真、时序分析工具。在Design Entry/Synthesis区中指定第三种综合工具,目前应用较为广泛的为Synplify Pro; 在Simulation区中指定第三方仿真工具,一般选用ModelSim; 在Timing Analysis区中指定时序分析工具。 图38创建工程指南窗口4 若选为“None”,则表示使用Quartus Ⅱ软件集成的工具。本工程使用Quartus Ⅱ软件自带的综合、仿真、时序分析工具,因此不需要选择。单击Next按钮。 (7) 弹出完成确认界面,如图39所示。 图39创建工程指南窗口5 在该对话框中可以看到工程设置的信息,依次为项目路径、项目名、顶层实体名、加入文件数目、指定的库数目、选择的器件及调用了哪些第三方EDA工具。最后单击Finish按钮完成工程设计。 项目建立完成后,还可以根据设计中实际情况对项目进行重新设置,执行菜单命令Assignment→Setting→Device,弹出如图310所示界面,重新设置对话框相关内容。 图310项目重新设置对话框 2. 建立文本编辑文件 当工程建立后,可进行设计文件的输入。可以采用有多种形式的输入方法。以VHDL语言文本输入为例讲解文本输入的方法与具体步骤。 执行菜单命令File→New,如图311所示,在设计文件中选择VHDL File文件,单击OK按钮后即可在弹出的窗口键入VHDL程序。 图311设计文件输入选择 键入完整的程序并检查完毕后,执行菜单命令File→Save(注意不要修改保存的文件名),即完成了文件的创建到编写输入,可以执行下一步编译了。 程序代码如下: library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity exp1 is generic (n:integer:=10); port ( clkin: in std_logic; clkout: out std_logic ); end exp1; architecture a of exp1 is signal count:integer range0 to 10; begin process(clkin) begin if clkin'event and clkin='1' then if (count=n-1) then count<=0; else count<=count+1; if count< (integer(n/2)) then clkout<='0'; else clkout<='1'; end if; end if; end if; end process; end a; 此程序完成对输入时钟信号10分频功能。 3.2.2综合 Quartus Ⅱ软件全编译主要完成项目分析、综合、适配、布局布线,最后生成下载文件,并生成用于仿真的文件。 1. 编译 编译器选项设置,包含分析、综合、时序选项设置等,本范例均采用系统缺省设置。 执行菜单命令Processing→Start Compilation,进行全编译,出现图312所示界面,包含了分析、综合、适配、布局布线、时序分析、EDA标准网表的生成。 图312编译窗口 编译开始,在编译窗口显示编译进度。 编译结束后,显示窗口如图313所示,有警告信息或错误信息提示。如果出现错误信息提示,返回到VHDL文件,查找错误代码,重新进行编译操作,直到无错误信息报告。 图313编译状态完成窗口 编译结束后,文件编译错误类型的提示在软件信息栏中有提示,双击错误提示,可找到与错误相关的位置及相关的代码。 编译完成,进行引脚分配。 2. 引脚分配 工程中添加设计输入文件后,需要给设计分配引脚和时序约束。分配引脚是将设计文件的输入/输出信号指定到器件的某个引脚,设置此引脚的电平标准、电流强度等。器件下载之前要对输入、输出引脚指定具体器件引脚号,这个过程称为锁定引脚,或引脚约束。 引脚分配时序约束通常的做法是设计者编写约束文件并导入到综合、布局布线工具,在FPGA/CPLD综合、布局布线步骤时指导逻辑映射、布局布线。也可以使用Quartus Ⅱ软件中集成的工具Assignment editor 和 Settings 框等进行引脚分配和时序约束。引脚设置,执行菜单命令Assignments→Pin planner,弹出界面如图314所示。 图314定义引脚 (1) 选择引脚。 项目综合后,工程中的各输入/输出端口会出现在下方的窗口,在各引脚对应的Location空白处双击鼠标,弹出目标芯片的未使用引脚,按照要求选择其中的一个引脚,也可以直接在该栏输入引脚号,这样就完成了一个信号的引脚锁定。重复上述过程,将输入信号clkin锁定在pin_n2引脚,输出信号clkout锁定在pin_j22引脚。 本范例中引脚号的锁定取决于DE2实验板,参考DE2使用说明完成对各个信号的锁定。 (2) 所有引脚锁定完成后要重新进行一遍编译,执行菜单命令Processing→Start Compilation。 编译成功后下载到芯片。如果器件引脚锁定有错,则重复上述操作,再编译。 3. 实现与报告分析 全编译通过后,会生成程序下载文件.SOF和.POF,供硬件下载与验证使用,同时会生成输出全编译报告(Flow Summary)。在该报告中可以看到设计实体名、芯片型号、芯片中使用了多少资源等。 编译结束后,可继续进行实验的仿真以验证其逻辑上的可行性,也可将工程直接下载到芯片。 3.2.3仿真 完成设计项目的输入、综合以及布局布线等步骤后,需要使用Quartus Ⅱ软件对设计的功能和时序进行仿真,以验证设计的正确性。分为三个步骤: ①绘制激励波形或编写testbench,为待测设计添加激励; ②对仿真器相关参数进行设置并执行仿真; ③观察和分析仿真结果。 1. 创建矢量波形文件 首先要建立一个矢量源文件,即激励文件。利用软件的波形发生器可建立和编辑用于波形格式仿真的输入矢量,它支持矢量波形文件(.vwf)、矢量文件(.vec)和矢量表输出文件(.tbl)。较常用的激励文件是矢量波形文件。 在当前工程下建立一个波形文件,执行菜单命令File→New,选择University Program VWF,单击OK按钮,如图315所示,则可以打开如图316所示的波形编辑窗口。 图315仿真波形文件输入设置 图316波形编辑窗口 波形编辑窗口默认的仿真时间长度为1μs。有时仿真时间长度不满足用户要求,用户可以执行菜单命令Edit→End Time,弹出如图317所示的对话框,在该对话框中输入用户希望的仿真时间长度。 图317设置仿真时间域对话框 本范例修改仿真时间长度为2μs,单击OK按钮。 2. 在矢量波形文件中加入输入、输出节点 如图316所示窗口,在左边Name列的空白处右击,在弹出的快捷键菜单中选择Insert→Insert Node or Bus选项,则弹出如图318所示的对话框,该过程也可以通过在左边Name列的空白处双击完成。 图318插入节点或总线对话框 在图318所示对话框中,单击Node Finder按钮,则弹出如图319所示的对话框。在Filter选项中,选择all,单击List按钮,设计电路的输入/输出信号将在Nodes Found栏下面显示出来,从该栏所列信号中选择需要仿真的信号加入Selected Nodes栏中,如果要加入全部波形节点,则直接单击“>>”按钮。 图319Node Finder对话框 在Node Finder窗口单击OK按钮,且在Insert Node or Bus窗口继续单击OK按钮完成了信号的添加。 3. 编辑输入信号波形 单击选取的信号,将待仿真的信号依照控制逻辑对信号赋逻辑电平或二进制代码。图320对仿真工具赋值常用符号进行了说明。 在图320所示界面,在Name栏下,选中clkin输入时钟信号,此时被选中的信号改变底色,选择仿真工具按钮栏时钟信号,单击,弹出如图321所示的对话框,在该对话框指定输入时钟周期、相位和占空比。 图320赋值常用符号说明 图321时钟信号设定对话框 选择clkin时钟信号周期为1ns,初始相位为0,占空比为50%。 设定时钟后,仿真输入波形文件如图322所示,保存该文件。文件后缀名为*.vwf。 图322设置输入信号的波形编辑器 建议保存的文件名与文件实体名一致。 4. 设置仿真器 图323仿真窗口 在进行仿真之前,要对仿真器进行一些设置,执行菜单命令Simulation,弹出如图323所示对话框,Quartus Ⅱ软件提供了两个层次的仿真: 功能仿真与时序仿真。 本范例采用功能仿真,仿真输出波形报告如图324所示。 观察仿真结果,验证程序或电路原理图逻辑正误,确认无误就可下载到器件上了。从图324波形图中可以看到,计数器10分频的功能已经实现。 图32410分频仿真报告 需要注意: 每当输入的源程序文件修改后,都需要重新进行编译,对功能仿真而言,都要重新生成新的仿真网络表文件,再进行仿真。 3.2.4编程配置 使用Quartus Ⅱ成功编译工程且功能、时序均满足设计要求后,可对器件进行编程和配置。 Quartus Ⅱ软件提供了四种编程模式: (1) 被动串行模式PS(Passive Serial Model); (2) JTAG模式; (3) 主动串行下载模式AS(Active Serial Programming Model); (4) 套接字内编程模式(Insocket Programming Model)。 一般情况下,设计初期采用JTAG模式下载。采用该下载方式,是将程序直接下载到FPGA的SRAM中,掉电后程序丢失,但此方式下载速度快,便于调试。当设计完成后,多采用AS模式,该方式将程序下载到FPGA的配置芯片,掉电后,程序不会丢失。 下面给出器件编程步骤: (1) 执行菜单命令Tools→Programmer,进入器件编程和配置对话框,如图325所示。此时在Hardware Setup按钮右边文本框中显示No Hardware,说明目前还没有硬件,不能进行下载。 图325器件编程和配置对话框 (2) 连接DE2实验板USB下载线,且给DE2加电,单击Hardware Setup按钮,弹出硬件安装对话框,如图326所示。在Currently selected hardware下拉列表框中列出了已安装好的可以使用的编程电缆,对DE2实验板选择USBBlaster,双击此选项,关闭此对话框,完成硬件设置。 图326硬件安装对话框 如果在Currently selected hardware下拉列表框中没有显示USBBlaster,则需要安装USBBlaster驱动程序,安装过程如下: 【我的电脑】(鼠标右键)→【属性】→【硬件】→【设备管理器】→【通用串行总线控制器】→【USBBlaster】(鼠标右键)选择更新驱动程序→从列表或指定位置安装→选择在搜索中包含这个位置,给出驱动程序所在文件夹 *:\altera\13.0sp1\quartus\drivers \usbblaster,完成安装。 USBBlaster的驱动程序在Quartus Ⅱ安装目录下,即\altera\13.0sp1\quartus\drivers\usbblaster。 重新单击Hardware Setup按钮,在下拉列表框中可看到USBBlaster选项。 在Mode下拉列表框中,选择下载方式,单击Start按钮,便可将生成的文件下载到指定的芯片中。 本范例中,选择JTAG下载模式,Program/Configure 选项进行选择,单击Start按钮,观察Progress进程,当下载完成时,Progress进程显示100%。 图327下载程序到目标芯片 利用示波器观察输出信号,可实现对输入时钟的10分频功能。 注意选择JTAG下载,添加下载文件名的后缀为.Sof文件; 注意器件型号是否与目标器件一致,DE2实验板的FPGA器件为EP2C35F672; 注意Program/Configure选项一定要进行选择。 3.3SOPC系统设计 SOPC(SystemonaProgrammableChip,可编程片上系统)即用可编程逻辑技术把整个系统放到一块硅片上。SOPC是一种特殊的嵌入式系统: 首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能; 其次,它是可编程系统,具有灵活的设计方式,可裁剪、可扩充、可升级,并具备软硬件在系统可编程的功能。 SOPC最早是由Altera公司提出的,它是基于FPGA解决方案的SOC片上系统设计技术。它将处理器、I/O口、存储器以及需要的功能模块集成到一片FPGA 内,构成一个可编程的片上系统。SOPC是现代计算机应用技术发展的一个重要成果,也是现代处理器应用的一个重要的发展方向。 SOPC 设计,包括以32位Nios Ⅱ 软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计、软件调试等。SOPC 系统设计的基本工具除了上述Quartus Ⅱ(用于完成Nios Ⅱ 系统的综合、硬件优化、适配、编程下载和硬件系统测试),Altera还提供了两个SOPC系统设计工具,一个包含在Quartus Ⅱ软件中,即Qsys,另一个是Eclipse。Qsys是SOPC Builder的新一代产品,设计SOPC硬件,为建立SOPC设计提供标准化的图形环境,创建基于Nios Ⅱ的系统,实现Nios Ⅱ嵌入式处理器的配置、生成,并且添加存储器、标准外设和用户自定义的外设等组件。Qsys将这些组件组合起来,生成对这些组件进行例化的单个系统模块,并自动生成必要的总线逻辑,将这些组件连接起来。而Eclipse用于Nios Ⅱ系统软件的设计,进行软件编译和调试。 3.3.1Nios Ⅱ简介 Nios Ⅱ是Altera公司自己开发的嵌入式CPU软内核,几乎可以用在Altera所有的FPGA内部。Nios处理器及其外设都是用HDL语言编写的,在FPGA内部利用通用的逻辑资源实现,所以在Altera的FPGA内部实现嵌入式系统具有极大的灵活性。Nios常常被应用在一些集成度较高,对成本敏感,以及功耗要求低的场合。 在可编程逻辑器件中,用户使用CPU,绝大部分并不是为了追求性能,而是为了PLD特有的灵活性和可定制性,同时也可以提高系统的集成度,这些正是Nios系统天生具备的,也是Nios受欢迎的原因。 Nios Ⅱ处理器是一个通用的32位RISC处理器内核。它的主要特点如下: (1) 完全的32位指令集、数据通道和地址空间; (2) 可配置的指令和数据Cache; (3) 32个通用寄存器; (4) 32个有优先级的外部中断源; (5) 单指令的32×32乘除法,产生32位结果; (6) 专用指令用来计算64位或128位乘积; (7) 单指令Barrel Shifter; (8) 可以访问多种片上外设,可以连接片外存储器和外设接口; (9) 具有硬件协助的调试模块,可以使处理器在IDE中做出各种调试工作,如开始、停止、单步和跟踪等; (10) 在不同的Nios Ⅱ系统中,指令集结构(ISA)完全兼容; (11) 性能达到150DMIPS以上。 Nios Ⅱ处理器系统包括一个可配置的CPU软内核、FPGA片内的存储器和外设、片外的存储器和外设接口等。Nios Ⅱ处理器内核类型包括Nios Ⅱ/f(Fast,快速型)、Nios Ⅱ/e(Economy,经济型)、Nios Ⅱ/s(Standard,标准型)。一个典型的Nios Ⅱ处理器系统如图328所示。 图328Nios Ⅱ处理器系统的典型架构 3.3.2SOPC系统的设计开发流程 SOPC系统的设计分为硬件设计和软件设计。用户首先利用Qsys的图形界面定制系统,产生输出文件,然后进入传统的硬件开发流程: 在Quatus Ⅱ中进行逻辑综合、布局布线。在软件开发流程中,用户可以利用Eclipse工具环境,建立工程、编译设计、调试等。基本流程如图329所示。 图329SOPC系统的设计开发流程 SOPC 设计全流程示意图如图330所示。 图330SOPC设计的流程