预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共47页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SOPC设计包括硬件和软件两部分。硬件设计:主要基于QuartusII和SOPCBuilder,软件设计:基于NiosIIIDE。本章详细讲述了相关内容。 SOPC开发流程和开发工具 SOPC设计包括硬件和软件两部分。硬件设计:主要基于QuartusII和SOPCBuilder。软件设计:基于NiosIIIDE。 流程见图解析: 分析系统需求:在进行SOPC开发之前,首先必须确定系统的需求,如应用系统需求的计算性能、需要的带宽和吞吐量、需求的接口类型以及是否需求多线程的软件等。 建立QuartusII工程:每个开发过程开始时都应建立一个工程,QuartusII是以工程的方式对设计过程进行管理。在工程中建立顶层模块文件.bdf相当于传统电路设计中的电路板(PCB)。 定义和生成系统:在SOPCBuilder中添加需要的功能模块(NiosII及其标准外设模块),完成后生成一个系统模块。 定制指令&定制外设逻辑:如果需要,用户可以定制指令和外设逻辑。(可参考第8章)自定义的功能模块:当设计中现有模块不能满足设计要求时,可设计自己的功能模块。并在顶层模块中使用;集成SOPC生成的系统到QuartusII工程:在顶层模块中,分别将SOPCBuilder生成的系统模块、LPM功能模块以及用户自定义功能模块添加到顶层模块中;连接各功能模块:然后将各个功能模块用连线连起来组成系统功能原理图。Altera的LPM模块:在QuartusII软件中包含了大量的Altera公司提供的LPM功能模块,相当与传统设计中除处理器以外的逻辑芯片(如74系列);选择FPGA型号并进行管脚分配:为系统功能原理图选择芯片载体并为各个输入输出信号分配芯片的管脚;进行编译选项设置:设置编译选项,从而让编译器按照用户设定来进行编译;编译硬件系统生成配置文件sof:编译系统生成硬件系统的配置文件*.sof和*.pof。编译系统是一个非常复杂的过程,包括优化逻辑的组合、综合逻辑、适配FPGA、布线以及时序分析等步骤。下载配置文件到FPGA器件:将配置文件.sof下载到FPGA,将可执行文件.elf下载到RAM。设置软件运行硬件环境属性:设置好软件运行的硬件环境属性后,便可进行编译、链接和调试、运行程序。编译软件:对用户程序进行编译,生成可执行文件*.elf。ISS运行/调试:接下来在IDE的指令集仿真器(ISS)上仿真软件和运行/调试软件。在目标板上运行/调试软件:在目标板上反复调试软件。使用IDE编程工具烧写配置文件和软件代码:最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash,将可执行文件*.elf编程到Flash中。(1)硬件开发用SOPCBuilder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件,并定制和配置它们的功能;分配外设地址及中断号;设定复位地址;用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能;添加用户自己设计的IP模块。编译QuartusII工程,对HDL文件进行布局布线,从HDL源文件综合生成一个适合目标器件网表,生成FPGA配置文件(.sof);用下载电缆(如ByteBlasterII),将配置文件下载到目标板上。硬件校验完成后,可将新的硬件配置文件下载到目标板上的非易失存储器(如EPCS器件)。 2)软件开发软件开发使用NiosIIIDE,它是一个基于EclipseIDE架构的集成开发环境,它包括:GNU开发工具(标准GCC编译器,连接器,汇编器和makefile工具等);基于GDB的调试器,包括软件仿真和硬件调试;提供用户一个硬件抽象层HAL;提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持;提供帮助用户快速入门的软件模板;提供Flash下载支持(FlashProgrmmer和QuartusIIProgrammer)使用SOPCBuilder生成系统后,可以直接使用NiosIIIDE开始设计C/C++应用程序代码。Altera提供外设驱动程序和硬件抽象层(HAL),使用户能够快速编写与低级硬件细节无关的NiosII程序;除了应用代码,用户还可以在NiosIIIDE工程中设计和重新使用定制库。 SOPC硬件开发实例 SOPCHYPERLINK"http://www.eefocus.com/search/?keyword=&searchselect=article"\t"_blank"AlteraHYPERLINK"http://www.eefocus.com/search/?keyword=&searchselect=article"\t"_blank"