GNU Quartus LPM
SOPC设计包括硬件和软件两部分。
硬件设计:主要基于 Quartus II 和 SOPC Builder 。
软件设计:基于 Nios II IDE 。
SOPC开发流程简图
流程见图解析:
分析系统需求 : 在进行 SOPC 开发之前,首先必须确定系统的需求,如应用系统需求的计
算性能、需要的带宽和吞吐量、需求的接口类型以及是否需求多线程的软件等。
建立 Quartus II 工程 :每个开发过程开始时都应建立一个工程, Quartus II 是以工程的方
式对设计过程进行管理。在工程中建立顶层模块文件 .bdf 相当于传统电路设计中的电路板
(PCB)。
定义和生成系统 : 在 SOPC Builder 中添加需要的功能模块( Nios II 及其标准外设模块),
完成后生成一个系统模块。
定制指令 & 定制外设逻辑 :如果需要,用户可以定制指令和外设逻辑。 (可参考第 8 章)
自定义的功能模块 :当设计中现有模块不能满足设计要求时,可设计自己的功能模块。并在
顶层模块中使用;
集成 SOPC 生成的系统到 Quartus II 工程 : 在顶层模块中,分别将 SOPC Builder 生成的
系统模块、 LPM 功能模块以及用户自定义功能模块添加到顶层模块中 ;
连接各功能模块 : 然后将各个功能模块用连线连起来组成系统功能原理图。
Altera 的 LPM 模块 : 在 Quartus II 软件中包含了大量的 Altera 公司提供的 LPM 功能模块,
相当与传统设计中除处理器以外的逻辑芯片 (如 74 系列 );
选择 FPGA 型号并进行管脚分配 :为系统功能原理图选择芯片载体并为各个输入输出信号
分配芯片的管脚;
进行编译选项设置: 设置编译选项,从而让编译器按照用户设定来进行编译;
编译硬件系统生成配置文件 sof :编译系统生成硬件系统的配置文件 *.sof 和*.pof 。编译
系统是一个非常复杂的过程,包括优化逻辑的组合、综合逻辑、适配 FPGA、布线以及时
序分析等步骤。
下载配置文件到 FPGA 器件: 将配置文件 .sof 下载到 FPGA,将可执行文件 .elf 下载到
RAM。
设置软件运行硬件环境属性: 设置好软件运行的硬件环境属性后,便可进行编译、链接和
调试、运行程序。
编译软件: 对用户程序进行编译,生成可执行文件 *.elf 。
ISS 运行 / 调试 :接下来在 IDE 的指令集仿真器 (ISS) 上仿真软件和运行 / 调试软件。
在目标板上运行 / 调试软件 :在目标板上反复调试软件。