搜档网
当前位置:搜档网 › 第3章 SOPC开发流程及Quartus II的使用 SOPC技术与应用

第3章 SOPC开发流程及Quartus II的使用 SOPC技术与应用

第3章 SOPC开发流程及Quartus II的使用  SOPC技术与应用
第3章 SOPC开发流程及Quartus II的使用  SOPC技术与应用

SOPC设计包括硬件和软件两部分。硬件设计:主要基于Quartus II和SOPC Builder,软件设计:基于Nios II IDE。本章详细讲述了相关内容。

第1章SOPC开发流程和开发工具

SOPC设计包括硬件和软件两部分。

硬件设计:主要基于Quartus II和SOPC Builder。

软件设计:基于Nios II IDE。

流程见图解析:

分析系统需求:在进行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)上仿真软件和运行/调试软件。

在目标板上运行/调试软件:在目标板上反复调试软件。

使用IDE编程工具烧写配置文件和软件代码:最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash,将可执行文件*.elf编程到Flash中。

(1)硬件开发

用SOPC Builder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件,并定制和配置它们的功能;分配外设地址及中断号;设定复位地址;用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能;添加用户自己设计的IP模块。编译Quartus II工程,对HDL文件进行布局布线,从HDL源文件综合生成一个适合目标器件网表,生成FPGA配置文件(.sof);

用下载电缆(如 ByteBlaster II),将配置文件下载到目标板上。硬件校验完成后,可将新的硬件配置文件下载到目标板上的非易失存储器(如EPCS器件)。

2)软件开发

软件开发使用Nios II IDE,它是一个基于Eclipse IDE架构的集成开发环境,它包括:GNU开发工具(标准GCC编译器,连接器,汇编器和makefile工具等);

基于GDB的调试器,包括软件仿真和硬件调试;

提供用户一个硬件抽象层HAL;

提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持;

提供帮助用户快速入门的软件模板;

提供Flash下载支持(Flash Progrmmer 和QuartusII Programmer)

使用SOPC Builder生成系统后,可以直接使用Nios II IDE开始设计C/C++应用程序代码。Altera提供外设驱动程序和硬件抽象层(HAL),使用户能够快速编写与低级硬件细节无关的Nios II程序;除了应用代码,用户还可以在Nios II IDE 工程中设计和重新使用定制库。

第2章SOPC硬件开发实例

SOPC Altera A V ALON SOPC硬件开发实例

第一步是要进行需求分析,根据这个要求来建立硬件系统。

电子钟的设计要求:

在液晶屏上显示日期、时间;

可以设置日期、时间;

根据系统要求实现的功能,电子钟的设计要用到的外围器件有:

LCD:电子钟显示屏幕;

按键:电子钟设置功能键;

Flash存储器:存储软、硬件程序;

SRAM存储器:程序运行时将其导入SRAM。

根据所要用到的外设、要实现的功能以及开发板的配置,在SOPC Builder中建立系统要添加的模块包括:Nios II CPU、定时器、按键PIO、LCD控制器、AVALON 三态桥、外部RAM接口、外部Flash接口。

使用的开发环境如下:

WinXP操作系统

Nios II 6.0嵌入式处理器

Quartus II 6.0

基于Cyclone II 的SOPC开发板

2.2.1 创建工程

进行完需求分析之后,进行硬件系统的创建。

首先必须建立一个Quartus II 的工程,

步骤如下:

Quartus II 6.1(32 bit),启动Quartus II软件;→Quartus II 6.1→Altera→程序→1. 开始

New Project Wizard,出现Introduction页面,该页面介绍所要完成的具体任务,点击next。→2.选择File菜单

3. 进行项目名称的设定、工作目录的选择。指定工程存放的目录,工程名和顶层实体名,工程名和顶层实体名要求相同,工程目录可以随意设置,但必须是英文的目录,工程名和顶层实体名也要求是英文名字,我们的工程名和顶层实体名为clock,选择Next。

4.可以为工程添加先期已经输入的设计文件,指定用户自定义的元件库的路径,这里我们没有事先输入好的文件,也没有自定义的元件库,点击Next进入下一步。

5. 用户指定目标器件,根据开发板的所使用的器件来选择,实际开发中,通过查看核心板的参考手册来获取所使用的器件具体型号,可以使用窗口右边的Filters来加快器件的选择,选择完毕点击Next。

6. 指定在Quartus II 之外的用于,设计输入、综合、仿真、时序分析的第三方EDA工具,Quartus II对第三方工具的支持比较完善。这里我们不做选择,直接点击Next。

Settings 所见新工程的信息,确认所创建工程的主要信息,点击Finish完成工程的建立,在开发的过程中,还可以通过菜单assignment 来对这些配置进行修改。点击Finish按钮,Quartus II自动会打开这个工程,可以看到顶层实体名出现在工程导航窗口中。

第3节创建Nios II 系统模块

创建完成工程之后,需要创建顶层实体。创建完顶层设计文件之后,使用SOPC Builder创建NIOS II 嵌入式处理器,添加、配置系统的外设IP,组成Nios II 系统模块。 Nios II 系统模块设计完成之后要加入到该顶层实体中,然后进行其他片上逻辑的开发。

2.3.1 创建顶层实体

New; (1)新建的工程窗口中,选择File

(2)在Device Design File页中,选择Block Diagram/Schematic File,即原理图文件,也可以选择硬件描述语言的文件形式。单击OK。

(3)出现一个模块编辑窗口。

Save As,出现Save (4)选择File As对话框,显示的目录为之前设置的工程目录,文件名为之前设置的顶层实体名(由于这是工程的第一个文件,系统会默认为顶层设计实体的名字)。确定Add to Current Project选项被选中,点击Save文件被保存并被加入到工程中。

2.3.2 创建Nios II系统模块

创建NIOS II系统模块需要使用SOPC Builder,它是Quartus II中的一个工具,使用SOPC Builder可以创建一个Nios II 系统模块,或者创建多主设备SOPC模块。一个完整Nios II的系统模块包括Nios II处理器和相关的系统外设。所以创建系统模块的流程是先创建一个系统,然后添加Nios II CPU 和外设IP,然后进行相应的设置,最后生成实例,然后将其加入到工程的顶层实体中去。

一、创建系统

SOPC Builder,出现图2-10的Create New System对话框。键入系统的名字,选择硬件描述语言Verilog或者是VHDL。 启动SOPC Builder,选择Tools

二、设置系统主频和指定目标FPGA

在Target栏中的Board部分指定我们这本书使用的核心开发板——Cyclone II (EP2C35)。也可以在Board部分选择Unspecified,然后在Device Family选择Cyclone II。

用户需要设置系统的时钟频率,该频率用于计算硬件和软件开发中的定时,比如时钟分频或波特率。这里我们设成85MHz,还可以选择是否选用流水线。

三、加入Nios II CPU和 IP模块

首先加入Nios II软核,Nios II 是软核CPU,共有三种类型的CPU可供选择:Nios II/e(经济型)、Nios II/s(标准型)和Nios II/f(快速型)。用户可以根据实际的情况进行选择。Nios II是一个用户可以自行进行定制的CPU,用户可以增加新的外设、新的指令等。

添加Nios II CPU的步骤如下:

1. Avalon Components 下面选择Nios II Processor;

2. 点击 Add,出现Nios II CPU的配置向导,共有三种类型的CPU可供选择;

根据需要选择相应的一种Nios II核,我们选择标准型的Nios II核,Hardware Multiply选择none,不选择Hardware Divide点击Next,进入Caches & Tightly Coupled Memories设置窗口;

设置Nios II的Cache和与CPU直接相连的存储器端口(不通过Avalon 总线),选择Instruction Cache为4Kbytes,不选中Include tightly coupled instruction master port(s) ,点击Next进入Advanced Features设置页面。

Advanced Features的设置页面是Quartus II 6.1 版本才有的设置,这里不选择Include cpu_resetrequest and cpu_resettaken signals点击Next 进入JTAG Debug Module设置。

共有4个调试级别可供选择,这里选择Level1即可,该级别支持软件的断点调试。JTAG调试模块要占用较多的逻辑资源,如果整个系统调试完毕了可以选用No Debugger以减少系统占用资源点击Next进入自定义指令的设置。

因为本例不用到任何的自定义指令,这里不作任何的设置,点击Finish 完成CPU模块的添加。

除了Nios II CPU,电子钟设计需要添加的IP模块包括:

Timer

Button PIO

LCD控制器

External RAM Bus

External Flash Bus

External RAM interface

External Flash Interface

1. 添加定时器

定时器和Nios II CPU一样,用户可以对其进行定制。添加定时器的步骤如下:(1)在Avalon components下的other库中选择Interval Timer并单击Add,Avalon_Timer-timer_0的向导窗口出现;

(2)配置定时器,点击Finish,完成定时器的添加。

(3)可以对Timer进行重命名,我们这里取缺省的名字。

sopc开发流程

实验一 一、实验目的 1.掌握用 Quartus II 开发 SOPC 的基本流程。 2.掌握用 SOPC Builder 进行 Nios II CPU 开发的基本流程。 3.掌握整个 Nios II 集成开发环境。 二、实验环境 1.SOPC-NIOSII SOPC 开发平台一套。 2.USB下载电缆一条。 三、实验原理 本实验的目的主要是对 SOPC 有一个基本的认识,了解整个实验过程,并掌握整个 Nios II 集成开发环境的应用。 (1) 在 Quartus II中新建一个工程。 (2) 在 SOPC Builder中根据自己的需要加入各种参数值。 (3) 利用 SOPC Builder 产生 Quartus II 能够识别的文件。 (4) 在(1)中新建的工程中加入(3)中生成的文件。 (5) 加入输入、输出以及双向端口,并根据需要对其命名。 (6) 对(5)中命名的输入、输出核双向端口根据选定的 FPGA 进行引脚分配。 (7) 编译工程。 (8) 下载编辑代码到 FPGA。 (9) 利用 Nios II 新建另一个工程。 (10) 根据(2)中的资源,编写项目需要的代码。 (11) 编译、下载并调试,查看运行结果,直到正确。 (12) 如果需要,将(11)中生成的代码下载到代码 Flash 中。 四、实验内容 为了熟悉 SOPC 的基本开发流程,本实验要完成的任务就是设计一个最简单的系统,系统中包括 Nios II CPU、作为标准输入/输出的 JTAG UART 以及存储执行代码SRAM。通过 SOPC Builder 对系统进行编译,然后通过 Quartus II 对

sopc习题练习

习题练习 一、填空题 1、Altrea公司于21世纪初推出SOPC技术,其SOPC称为___可编程片上系统__________。 2、Altera公司的SOPC集成了_硬核______或软核CPU、DSP、锁相环(PLL)、_存储器 _____、I/O接口及可编程逻辑,SOPC开发工具将软、____硬件___的设计结合起来,为用户提供很好的开发环境。 3、SOPC的设计包括,设计准备(方案论证,系统设计,器件选择)、设计输入(图文、文本、存储器、波形灯TOP-DOWN)、设计编译(分析综合、适配、编程、时序分析)、设计仿真(功能仿真、时序仿真)、器件编程(将设计处理的编程数据文件下载到pld),_硬件测试(在开发系统中对设计的系统进行测试)等设计流程。 4、用FPGA实现DSP并不是指用FPGA来构造一个_DSP____芯片,是直接用__FPGA_______硬件来实现DSP功能。 5、Altera公司的DSP Builder可以帮助开发者完成基于FPGA的DSP设计,自动完成大部分的设计过程和仿真,直至把设计文件下载至___FPGA ______中。 6、DSP Builder将用户设计的DSP模块转换成__硬件_____描述语言(HDL),最终在FPGA 上实现。二、单项选择题 1、SOPC Builder是Altera公司推出的一种可加快在PLD内实现___1_____嵌入式处理器及其相关接口的设计工具。 (1)Nios II;(2)ARM9;(3)Intel;(4)ARM7。 2、Nios II是一个用户可以自行定制的CPU,用户可以增加新的外设,增加新的指令,分配外设的地址等。Nios II的硬件开发就是由用户定制合适的___4_____。(1)处理器芯片;(2)输入输出设备;(3)HAL及API;(4)CPU和外设。 3、SOPC Builder界面分成三个部分,界面左边是组件选择栏,用树型结构列出了SOPC Builder的组件;右边空白处用于加入用户定制___1_____;下方是提示栏,用于显示SOPC Builder的提示信息和警告错误信息。。 (1)Nios II系统的组件;(2)Cyclone II目标芯片;(3)用户建立的工程组件;(4)Altera公司系列FPGA。 4、HAL系统库可为与硬件通信的程序提供简单的__1______。(1)设备驱动接口;(2)硬件端口;(3)硬件设备描述文件;(4)设备顶层文件。 5、_4___是HAL系统库的基础,它提供了关于Nios Ⅱ系统硬件的软件描述。 (1)System.h文件;(2)NiosⅡIDE; (3)stdio.h;(4)ANSI C。 6、系统标识system ID是SOPC中的一个___1_____。 (1)简单只读组件;(2)IP外围设备; (3)运行程序的ID号;(4)FPGA中的硬件电路。 7、__2___调试方式面向对象,通过直观的软件界面上按钮来完成调试的各种操作。 (1)IDE;(2)SOPC Builder;(3)Quartus II;(4)SDK。 8、通用___1_____ PIO包括输入、输出和双向三态IO。 (1)输入输出端口;(2)可编程接口; (3)外围设备接口;(4)可编程外围设备接口。 9、SOPC Builder允许用户修改已经存在的设计,为其添加新的___4_____。 (1)用户程序;(2)IP组件;(3)Nios II系统的组件(4)设备和功能。 10、Nios II的硬件开发就是由用户定制合适的___4_____。 (1)FPGA器件;(2)FPGA目标芯片;

quartusII图形设计过程教程

Quartus II 的使用 (2) 1 工程建立 (2) 2 原理图的输入 (5) 3 文本编辑(verilog) (15) 4 波形仿真 (16)

Quartus II 的使用 在这里,首先用最简单的实例向读者展示使用Quartus II软件的全过程。进入WINDOWS XP后,双击Quartus II图标,屏幕如图1.1所示。 图 1.1 Quartus II 管理器 1.1 工程建立 使用New Project Wizard,可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称。还可以指定要在工程中使用的设计文件、其它源文件、用户库和EDA 工具,以及目标器件系列和器件(也可以让Quartus II 软件自动选择器件)。 建立工程的步骤如下:

(1)选择File菜单下New Project Wizard ,如图1.2所示。 图 1.2 建立项目的屏幕 (2)输入工作目录和项目名称,如图1.3所示。可以直接选择Finish,以下的设置过程可以在设计过程中完成。 图 1.3 项目目录和名称

(3)加入已有的设计文件到项目,可以直接选择Next,设计文件可以在设计过程中加入,如图1.4所示。 图 1.4 加入设计文件 (4)选择设计器件,如图1.5所示。 图 1.5 选择器件

(5)选择第三方EDA综合、仿真和时序分析工具,如图1.6所示。 图 1.6 选择EDA 工具 (6)建立项目完成,显示项目概要,如图1.7所示。 图 1.7 项目概要 1.2 原理图的输入 原理图输入的操作步骤如下:

(1)选择File 菜单下New ,新建图表/原理图文件,如图1.8 所示。 图 1.8 新建原理图文件 (2)在图1.9的空白处双击,屏幕如图1.10所示: (3)在图1.10的Symbol Name 输入编辑框中键入dff后,单击 ok按钮。此时可看到光标上粘着被选的符号,将其移到合 适的位置(参考图 1.11)单击鼠标左键,使其固定; (4)重复(2)、(3)步骤,给图中放一个input、not、output 符号,如图1.11所示;在图1.11中,将光标移到右侧input 右侧待连线处单击鼠标左键后,再移动到D触发器的左侧 单击鼠标左键,即可看到在input和D触发器之间有一条 线生成;

SOPC系统设计实例

SOPC系统设计实例 SOPC系统设计实例 (1) 1 SOPC系统设计流程 (1) 2 SOPC 系统设计实例 (2) 1.建立工程 (3) 2.建立顶层设计文件 (10) 3.用SOPC Builder建立一个新的SOPC硬件系统 (12) 4.向系统中添加Nios II处理器 (14) 5.添加片上存储器 (20) 6.添加JTAG UART (22) 7.添加定时器 (24) 8.添加自定义组件七段数码管控制器 (25) 9.自动设置基地址 (34) 10.加入System ID模块 (34) 11.生成系统 (35) 12.例化Nios II处理器 (37) 13.导入引脚分配 (38) 14.编译并下载设计 (40) 15.启动Nios II IDE (41) 16.建立新工程 (41) 17.修改系统库属性 (45) 18.修改代码 (46) 19.编译并运行工程 (48) 1 SOPC系统设计流程 SOPC系统的设计流程如图1所示。设计者首先根据任务要求决定系统需求,然后用SOPC Builder建立自己的SOPC系统,完成这项工作之后,硬件工程师和软件工程师可以开始协同工作。硬件工程师首先建立一个顶层设计文件,将生成的SOPC系统例化,并设置引脚分配,时序要求及其他设计约束,,然后编译硬件设计并将FPGA设计下载到目标板中。在硬件工程师工作的同时,软件工程师可以用Nios II IDE开发应用软件,并在Nios II IDE中使用Nios II 指令仿真器(ISS)运行并调试软件,等硬件工程师把硬件设计下载到目标板中之后,软件工程师将可执行软件下载到目标板上的Nios II 系统中,并在目标板上运行调试软件,如果发现软件设计不满足设计要求,则再改进硬件和软件的设计。

Quartus_II使用教程-完整实例

Quartus Ⅱ入门教程 (一个Verilog 程序得编译与功能仿真) Quartus Ⅱ 就是Altera 公司推出得专业EDA 工具,支持原理图输入、硬件描述语言得输入等多种输入方式。硬件描述语言得输入方式就是利用类似高级程序得设计方法来设计出数字系统。接下来我们对这种智能得EDA 工具进行初步得学习。使大家以后得数字系统设计更加容易上手。 第一步:打开软件 快捷工具栏:提供设置(setting),编译(pile)等快捷方式,方便用户使用,用户也可以在菜单栏得下拉菜单找到相应得选项。● 菜单栏:软件所有功能得控制选项都可以在其下拉菜单中找到。 ● 信息栏:编译或者综合整个过程得详细信息显示窗口,包括编译通过信息与报错信息。 第二步:新建工程( Project Wizard ) 1 工程名称: 快捷工具栏 菜单栏 所建工程得保存路径 工作区 资源管理窗口 任务管理窗口

dqgxo 。 2添加已有文件(没有已有文件得直接跳过next ) 3 选择芯片型号(我们选择MAX3000A 系列下得EPM3256AQC208-10芯片) (注:如果不下载到开发板上进行测试,这一步可以不用设置) 工程名称 顶层模块名(芯片级设计为实体名),要求与工程名称相同 如果有已经存在得文 件就在该过程中添加, 软件将直接将用户所添加得文件添加到工程中。

4 选择仿真,综合工具(第一次实验全部利用quartus 做,三项都选None,然后next) 5 工程建立完成(点finish ) 所选得芯片得系列型号 快速搜索所需得芯片 选择芯片 选择第三方综合工具,如果使用Quartus 内部综合工具则选择none 选择第三方仿真工具,如果使用Quartus 内部仿真工具则选择none 选择时序分析仪

QuartusII教程(完整版)

Quartus II 的使用 (1) 1 工程建立 (1) 2 原理图的输入 (4) 3 文本编辑(verilog) (14) 4 波形仿真 (17)

Quartus II 的使用 在这里,首先用最简单的实例向读者展示使用Quartus II软件的全过程。进入WINDOWS XP后,双击Quartus II图标,屏幕如图1.1所示。 图 1.1 Quartus II 管理器 1.1 工程建立 使用New Project Wizard,可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称。还可以指定要在工程中使用的设计文件、其它源文件、用户库和EDA 工具,以及目标器件系列和器件(也可以让Quartus II 软件自动选择器件)。 建立工程的步骤如下:

(1)选择File菜单下New Project Wizard ,如图1.2所示。 图 1.2 建立项目的屏幕 (2)输入工作目录和项目名称,如图1.3所示。可以直接选择Finish,以下的设置过程可以在设计过程中完成。 图 1.3 项目目录和名称

(3)加入已有的设计文件到项目,可以直接选择Next,设计文件可以在设计过程中加入,如图1.4所示。 图 1.4 加入设计文件 (4)选择设计器件,如图1.5所示。 图 1.5 选择器件

(5)选择第三方EDA综合、仿真和时序分析工具,如图1.6所示。 图 1.6 选择EDA 工具 (6)建立项目完成,显示项目概要,如图1.7所示。 图 1.7 项目概要 1.2 原理图的输入 原理图输入的操作步骤如下:

(1)选择File 菜单下New ,新建图表/原理图文件,如图1.8 所示。 图 1.8 新建原理图文件 (2)在图1.9的空白处双击,屏幕如图1.10所示: (3)在图1.10的Symbol Name 输入编辑框中键入dff后,单击ok按钮。此时可看到光标上粘着被选的符号,将其移到合适的位置(参考图 1.11)单击鼠标左键,使其固定;(4)重复(2)、(3)步骤,给图中放一个input、not、output 符号,如图1.11所示;在图1.11中,将光标移到右侧input 右侧待连线处单击鼠标左键后,再移动到D触发器的左侧单击鼠标左键,即可看到在input和D触发器之间有一条线生成;

FPGA入门及Quartus II使用教程(内部资料)

FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。 可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。并且可以通过软件仿真,我们可以事先验证设计的正确性。 第一章FPGA的基本开发流程 下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。 下图是一个典型的基于Quartus II的FPGA开发整体流程框图。

1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管 理。 2、建立顶层图。可以这样理解,顶层图是一个容器,将整个工程的各个模块包 容在里边,编译的时候就将这些模块整合在一起。也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。 3、采用ALTERA公司提供的LPM功能模块。Quartus软件环境包含了大量的常 用功能模块,比如计数器、累加器、比较器等等。 4、自己建立模块。由于有些设计中现有的模块功能不能满足具体设计的要求, 那就只能自己设计。使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。 5、将顶层图的各个功能模块连线起来。这个过程类似电路图设计,把各个芯片 连起来,组成电路系统。 6、系统的功能原理图至此已经基本出炉了,下一步就是选择芯片字载体,分配 引脚,设置编译选项等等。 7、编译。这个过程类似软件开发里德编译,但是实际上这个过程比软件的编译 复杂的多,因为它最终要实现硬件里边的物理结构,包含了优化逻辑的组合,综合逻辑以及布线等步骤。 8、编译后会生成2个文件,一个是*.sof文件,一个是*.pof文件,前者可以通过 JTAG方式下载到FPGA内部,可以进行调试,但断电后数据丢失;后者通过AS或者PS方式下载到FPGA的配置芯片里边(EEPROM或者FLASH),重新上电后FPGA会通过配置将数据读出。 9、对于复杂的设计,工程编译好了,我们可以通过Quartus软件或者其他仿真 软件来对设计进行反复仿真和验证,直到满足要求。(主要是时序仿真)。 第二章基于Quartus II的实例 一、建立工程 首先,打开Quartus II软件。

QuartusII入门详细教程实例讲解

Quartus II入门详细教程实例讲解 写在前面: 1.本教程适合以前没有接触过QuartusII开发软件的新手,本教程是基础的入门,后续的学习还得大家自己努力。 2.本教程非常详细手把手带大家入门,网上现存的很多教程,有的过于跳跃,难以跟上;有的遇到错误,但教程没有指出,导致我们不知道怎么做。 3.本教程首先通过简单的仿真实验带大家入门。VHDL源代码会附在文档最后。 4.本教程使用Quartus II 9.1版本进行演示,其他版本的操作差别不是太大,也可以进行学习。 目录 一、Quartus II开发软件基本介绍 1.1 Quartus Ⅱ简介 Quartus Ⅱ是Altera公司推出的专业EDA工具,支持原理图输入、硬件描述语言的输入等多种输入方式。硬件描述语言的输入方式是利用类似高级程序的设计方法来设计出数字系统。 1.2 Quartus Ⅱ开发流程 使用Quartus II 软件进行开发的流程如图1.2.1所示。需注意的是,Quartus II还可以使用命令行模式的TCL批处理脚本进行自动流程控制。

图1.2.1 Quartus Ⅱ开发流程 二、用3-8译码器的设计介绍QuartusⅡ的基本使用方法(VHDL仿真) 1.1打开软件 双击桌面安装好的QuartusⅡ 9.1图标,打开软件,主页面如图1所示。 图1 在图1中,1区为菜单栏:软件所有功能的控制选项都可以在其下拉菜单中找到。2区为快捷工具栏:提供设置(setting),编译(compile)等快捷方式,方便用户使用,用户也可以在菜单栏的下拉菜单找到相应的选项。3区为资源管理窗口。4区为编译及综合的进度栏:编译和综合的时候该窗口可以显示进度,当显示100%是表示编译或者综合通过。5区为工作区。6区为信息栏:编译或者综合整个过程的详细信息显示窗口,包括编译通过信息和报错信息。

Quartus_II简明教程

Quartus II简明教程 Altera公司的Quartus II设计软件是用来进行SOPC(System-on-a-programmable-chip)设计的综合的设计环境。本教程适用于Quartus II软件的新用户,介绍使用Quartus II软件的进行FPGA设计的基本方法。需要注意,本教程并不是Quartus II软件的详尽的参考手册。 本教程包含的主要内容: 1、典型的FPGA设计流程; 2、开始 3、新建project 4、设计输入 5、编译 6、引脚分配 7、仿真 8、编程、配置FPGA器件 9、板级调试

1、 典型的FPGA 设计流程 计算机辅助设计(Computer Aided Design ,CAD )软件的使用使得使用可编程逻辑器件(Programmable Logic Device ,PLD)器件(比如Field Programmable Gate Array ,FPGA)进行数字逻辑电路设计变得非常容易。使用CAD 软件进行FPGA 设计的典型流程如图1所示。 图1 FPGA 设计的典型设计流程 Quartus II 软件支持以上设计流程的所有阶段。本教程介绍Quartus II 软件的基本特征。 2、 开始 在Quartus II 软件中设计的每个电路或者子电路都叫做项目(Project )。Quartus II 软件每次只能打开一个Project ,并且一个Project 的所有信息都必须保存在同一个文件夹。为了开始一个新逻辑电路的设计,首先第一步就是新建一个文件夹来保存此Project 的文件。为了保存本教程的设计项目Project ,新建文件夹D:\introtutorial 。本教程运行的例子是一个简单两路开关控制电路。 启动Quartus II 软件,会打开如图2所示启动画面。启动画面中包含了使用Quartus II 软件所需要的

Quartus_II_9.0_使用初级教程

Quartus Ⅱ 9.0 使用教程(初级) Quartus Ⅱ 是Altera 公司推出的专业EDA 工具,支持原理图输入、硬件描述语言的输入等多种输入方式。硬件描述语言的输入方式是利用类似高级程序的设计方法来设计出数字系统。接下来我们对这种智能的EDA 工具进行初步的学习。使大家以后的数字系统设计更加容易上手。 第一步:打开软件 ● 快捷工具栏:提供设置(setting ),编译( compile )等快捷方式,方便用户使用,用户也可以在菜单栏的下拉菜单找到相应的选项。 ● 菜单栏:软件所有功能的控制选项都可以在其下拉菜单中找到。 ● 编译及综合的进度栏:编译和综合的时候该窗口可以显示进度,当 显示100%是表示编译或者综合通过。 ● 信息栏:编译或者综合整个过程的详细信息显示窗口,包括编译通过信息和报错信息。

第二步:新建工程(file>new Project Wizard ) 1 工程名称: 2添加已有文件(没有已有文件的直接跳过next )

3 选择芯片型号(我们选择MAX3000A 系列下的EPM3256AQC208-10芯片) 4 选择仿真,综合工具(第一次实验全部利用quartus 做,三项都选None ,然后next )

5 工程建立完成(点finish) 第三步:添加文件(file>new> VHDL file),新建完成之后要先保存。

第四步:编写程序 3-8译码器的VHDL描述源文件如下: library ieee; use ieee.std_logic_1164.all; entity decoder3_8 is port( A:in std_logic_vector(2 downto 0); EN:in std_logic; Y:out std_logic_vector(7 downto 0)); end decoder3_8; architecture example_1 of decoder3_8 is signal sel:std_logic_vector(3 downto 0); begin sel<=A & EN; with sel select Y <= "11111110" when "0001", "11111101" when "0011", "11111011" when "0101", "11110111" when "0111", "11101111" when "1001", "11011111" when "1011",

QuartusII10.0简明教程

Quartus ii 10.0教程 说明 本文的部分章节,来源于本人翻译的Terasic DE2-115的英文入门文档。 平台 硬件:艾米电子EP2C8-2010增强版套件 软件:Quartus II 10.0 + ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition 内容 ?典型的CAD流程 ?开始 ?新建工程 ?录入Verilog设计 ?编译设计 ?引脚分配 ?仿真设计电路 ?编程及配置到FPGA器件 ?测试设计电路 典型的CAD流程 计算机辅助设计(CAD)软件,使得运用可编程逻辑器件实现所需逻辑电路,变得容易。比如现场可编程门阵列(FPGA)。典型的FPGA CAD设计流程如图1所示。

图1 典型的FPGA CAD设计流程 CAD流程包含以下步骤: ?设计输入——所需电路可通过原理图方式或硬件描述语言方式(如Verilog或VHDL)进行设计。 ?综合——输入的设计被综合进入由逻辑元素(LEs,FPGA芯片提供)组成的电路中。 ?功能仿真——综合电路被测试以验证其功能是否正确,次仿真不考虑时序因素。 ?布局布线——CAD Fitter工具决定网表中定义的LEs如何布置成FPGA芯片中的实际LEs。 ?时序分析——分析已布局布线电路中的不同路径的传播延迟,用以指示所需电路的性能。 ?时序仿真——测试已布局布线电路,验证其是否在功能和时序上都正确。 ?编程及配置——设计的电路,通过编程配置开关,被实现到一个物理的FPGA芯片。 配置开关用于配置LEs和建立所需线路连接。 本指南介绍Quartus II软件的基本特征。展示如何使用Verilog硬件描述语言来设计和实现电路。使用GUI来实现Quartus II指令。通过本份指南,读者将学习到: ?新建工程 ?使用Verilog代码录入设计 ?将综合的电路布局到Altera FPGA ?分配电路的输入输出到FPGA上的指定引脚 ?仿真设计电路 ?编程配置艾米电子EP2C8核心板上的FPGA芯片 1. 开始 在Quartus II中设计的每个逻辑电路或子电路,叫做一个工程。软件每次运行一个工程,并将所有信息保存在单一文件夹中。欲开始一个新的逻辑电路设计,第一步就是新建一个文件夹来保存文件。为了保存本指南的设计文件,在D盘新建introtutorial文件夹。指南者运行的范例为一个简单的双路灯控电路。 打开Quartus II软件,将看到类似于图2的画面。该显示画面包括若干窗口,用户可使用鼠标选择,以访问Quartus II软件的相关功能。Quartus II提供的大多数命令都可用菜单形式来访问。例如,在图2中,在File标签下点击左键,可打开如图3所示的菜单。用左键单击Exit可退出Quartus II软件。

Quartus II教程

第3章 Altera Quartus II软件开发向导 基于Altera Quartus II软件的设计方法有模块编辑法、文本编辑法、宏模块编辑法和包含前三种方法的混合编辑法。宏模块设计法放在第6章讲述,本章通过实例简单介绍使用Quartus II软件的模块原理图编辑法、文本编辑法和包含前两种方法的混合编辑法。 3.1模块编辑及设计流程 Quartus II软件的模块编辑器以原理图的形式和图标模块的形式来编辑输入文件。每个模块文件包含设计中代表逻辑的框图和符号。模块编辑器可以将框图、原理图或符号集中起来,用信号线、总线或管道连接起来形成设计,并在此基础上生成模块符号文件(.bdf)、AHDL Include文件(.inc)和HDL 文件。 3.1.1 原理图输入文件的建立 在这里我们设计非常简单一个二输入的或门电路。它只包含一个或门、两个输入引脚和一个输出引脚。首先创建一个原理图形式的输入文件。步骤如下: (1)打开模块编辑器 单击【File】|【New】,弹出新建文件对话框,如图3.1所示。 图3.1 新建文件对话框 选择文件类型【Block Diagram/Schematic File】,打开模块编辑器,如图3.2所示。使用该编辑器可以编辑图标模块,也可以编辑原理图。

·217· 图3.2 模块编辑器 Quartus II提供了大量的常用的基本单元和宏功能模块,在模块编辑器中可以直接调用它们。在模块编辑器要插入元件的地方单击鼠标左键,会出现小黑点,称为插入点。然后鼠标左键,弹出【Symbol】对话框,如图3.3所示。或者在工具栏中单击图标,也可打开该对话框。 图3.3 Symbol对话框 在Symbol对话框左边的元件库【Libraries】中包含了Quartus II提供的元件。它们存放在\altera\quartus60\libraries\的子目录下,分为primitives、others、megafunctions三个大类。 基本逻辑函数(primitives) 基本逻辑函数存放在\altera\quartus60\libraries\ primitives\的子目录下,分别为缓冲逻辑单元(buffer)、基本逻辑单元(logic)、其它单元(other)、引脚单元(pin)和存储单元(storage)五个子类。Buffer子类中包含的是缓冲逻辑器件,如alt_in buffer、alt_out_buffer、wire等;logic子类中包含的是基本逻辑器件,如and、or、xor等门电路器件;other子类中包含的是常量单元,如constant、vcc和gnd等;pin子类中包含的是输入、输出和双向引脚单元;storage子类中包含的是各类触发器,如dff、tff等。

QuartusII简明教程(完整版)

目录 : Quartus II 的使用 (1) 1 工程建立 (1) 2 原理图的输入 (4) 3 文本编辑(verilog) (14) 4 波形仿真 (16)

Quartus II 的使用 在这里,首先用最简单的实例向读者展示使用Quartus II软件的全过程。进入WINDOWS XP后,双击Quartus II图标,屏幕如图1.1所示。 图 1.1 Quartus II 管理器 1.1 工程建立 使用 New Project Wizard,可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称。 还可以指定要在工程中使用的设计文件、其它源文件、用户库和 EDA 工具,以及目标器件系列和器件(也可以让Quartus II 软件自动选择器件)。 建立工程的步骤如下:

(1) 选择File菜单下New Project Wizard ,如图1.2所示。 图 1.2 建立项目的屏幕 (2) 输入工作目录和项目名称,如图1.3所示。可以直接选择Finish,以下的设置过程可以在设计过程中完成。 图 1.3 项目目录和名称

(3) 加入已有的设计文件到项目,可以直接选择Next,设计文件可以在设计过程中加入,如图1.4所示。 图 1.4 加入设计文件 (4) 选择设计器件,如图1.5所示。 图 1.5 选择器件

(5) 选择第三方EDA综合、仿真和时序分析工具,如图1.6所示。 图 1.6 选择EDA 工具 (6) 建立项目完成,显示项目概要,如图1.7所示。 图 1.7 项目概要 1.2 原理图的输入 原理图输入的操作步骤如下:

SOPC开发流程和开发实例

第1节SOPC开发流程和开发工具 SOPC设计包括硬件和软件两部分。 硬件设计:主要基于Quartus II和SOPC Builder。软件设计:基于Nios II IDE。 流程见图解析:

分析系统需求:在进行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)上仿真软件和运行/调试软件。 在目标板上运行/调试软件:在目标板上反复调试软件。 使用IDE编程工具烧写配置文件和软件代码:最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash,将可执行文件*.elf编程到Flash中。 (1)硬件开发 用SOPC Builder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件,并定制和配置它们的功能;分配外设地址及中断号;设定复位地址;用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能;添加用户自己设计的IP模块。编译Quartus II工程,对HDL文件进行布局布线,从HDL源文件综合生成一个适合目标器件网表,生成FPGA配置文件(.sof);

Quartus II FPGA烧写教程

在Quartus II中使用JTAG模式固化程序到EPCS中的方法.[Quartus II]范例 流水灯 图1 流水灯范例 实现步骤 步骤1: 在Quartus II中,单击File->Convert Programming Files..。打开编程文件转换程序,如图2所示。

图2 编程文件转换程序界面 在此界面中。在Programming file type:标签后选择JTAG Indirect Configuration File (.jjc);在C onfiguration device:标签后选择你所使用的EPCS型号,此外我选择EPCS4。在Input file to conv ert方框中,单击Flash Leader,再单击Add Device..,如图3一样选择EP2C8(请根据自己的FPG A型号自行选择);单击SOF Data,再单击Add File..,选择Quartus II编译后的sof文件。配置完成界面如图4所示。

图3 Add Device

图4 配置完成界面 单击Generate,开始生成jjc文件。成功界面如图5。 图5 成功界面 关闭Convert Programming Files界面,进入下一步骤。

步骤2: 在Quartus II中,单击Tools->Programmer,进入下载界面,如图6所示。 图6 下载界面 在此界面,单击Hardware Setup,选择下载线缆。双击选择Usb-Blaster,如图7所示。

图7 选择Usb-Blaster 回到下载界面,单击led_water.sof,再单击Change File..,选择刚才转换的output_file.jjc。添加完成后,安装图8所示勾选选项,选择jjc文件。 图8 选择jjc文件 单击Start,开始下载。下载完成后,请点击复位键或者重启开发板,就会看见固化的程序了。 友情提示:EPCS擦写次数有限(请自行查询),请尽量采用JTAG模式下载sof文件测试程序。

SOPC原理及应用

中国海洋大学本科生课程大纲 课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修 一、课程介绍 1.课程描述(中英文): SOPC原理及应用是一门工作技能教育层面的专业选修课,是与ARM原理及应用、DSP原理及应用相并列的嵌入式技术课程之一,是专业特色课程。该课程与数字电子技术基础、C语言程序设计、数字逻辑与FPGA、嵌入式原理及接口技术、测控系统高级设计、海洋观测仪器、计算机控制技术、工业控制网络技术等课程有着较强的联系。通过本课程的学习,学生可以熟悉和掌握系统的基于SOPC技术的嵌入式系统硬件设计方法、基于μC/OS-II操作系统的嵌入式系统软件设计方法。 本课程主要内容包括硬件描述语言VHDL、SOPC的硬件开发环境及硬件开发流程、NIOSⅡ处理器体系结构、Avalon总线规范、SOPC的软件设计流程和方法、NIOS Ⅱ常用外设编程、NIOSⅡ系统高级开发技术等内容。 Principles and applications of SOPC is a professional course of work skill education. It is one of the embedded technology courses paralleled with ARM principle and application, DSP Principle and application. It is a characteristic professional course. The course is closely related to the basic digital electronic technology, C program design, digital logic and FPGA, microprocessor principle and interface technology, advanced design of measurement and - 6 -

Quartus-II使用教程-完整实例2

Quartus □入门教程 (一个Verilog 程序的编译和功能仿真) Quartus n 是Altera 公司推出的专业 EDA 工具,支持原理图输入、硬件描述语言的输 入等多种输入 方式。硬件描述语言的输入方式是利用类似高级程序的设计方法来设计出数字 系统。接下来我们对这种智能的 EDA 工具进行初步的学习。使大家以后的数字系统设计更 加容易上手。 \ £JJ 訓闿./ FYQcessho Ejdra Ihlo Inlo Wartimj —Citic-al Wairphj —入 E IKM A 5申卩旧貝6?:1 A Flaci / [Mswage: 快捷工具栏:提供设置(setting ),编译(compile )等快捷方式,方便用户使用,用户也可 以在菜单栏的下拉菜单找到相应的选项。 菜单栏:软件所有功能的控制选项都可以在其下拉菜单中找到。 信息栏:编译或者综合整个过程的详细信息显示窗口,包括编译通过信息和报错信息。 For Help, press, Fl Idb 恤 UM 菜单栏 第一步:打开软件 快捷工具栏 Ale Proje

第2章FPGA SOPC 开发流程简介

第2章SOPC开发流程及开发平台简介 2.1 SOPC开发流程 SOPC设计包括以Nios II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、IDE环境的软件设计、软件调试等。SOPC系统设计的基本软件工具包括Quartus II,用于完成Nios II系统的分析综合、硬件优化、适配、配置文件编程下载以及硬件系统测试等;Qsys,它是Nios II软核处理器的开发包,用于实现Nios II系统配置、生成以及与 Nios II系统相关的监控和软件调试平台的生成;ModelSim,用于对Qsys生成的NiosII的HDL描述语言程序进行系统功能仿真;Matlab/DSP Builder,用于生成Nios II系统的硬件加速器,进而为Nios II系统定制新的指令;Nios II IDE,用于完成基于Nios II系统的软件开发和调试,并可借助其自带的Flash编程器完成对Flash以及EPCS的编程操作,此外Nios II IDE还包括一个指令集成模拟器、Microc/OS - II实时操作系统、文件系统以及小型 TCP/IP 协议栈。 SOPC的开发过程中要使用到Quartus II、Qsys以及Nios II IDE,三者之间关系如图2. 1所示。 SOPC的开发流程通常包括2个方面:基于Quartus II、Qsys的硬件设计,基于 Nios II IDE的软件设计。对于比较简单的Nios II系统,一个人便可执行所有设计;对于比较复杂的系统,硬件和软件设计可以分开进行。

2.1.1硬件开发 硬件开发使用Quartus II和Qsys。硬件设计工作如下: (1)用Qsys软件从Nios II处理器内核和Nios II开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件(如片内存储器、PIO、定时器、UART、片外存储器接口等),并定制和配置它们的功能;分配外设地址及中断号;设定复位地址;最后生成系统。用户也可以添加用户自身定制指令逻辑到Nios II内核以加速CPU性能,或添加用户外设以减轻CPU的任务。 (2)使用Qsys生成Nios II系统后,将其集成到整个Quartus II工程中。可以在 Quartus II工程中加入Nios II系统以外的逻辑,大多数的SOPC设计都包括NioslI系统以外的逻辑,这也是SOPC系统的优势所在。用户可以集成自身定制的硬件模块到SOPC设计,或集成从Altera或第3方IP供应商中得到的其它现成知识产权设计模块。 (3)使用Quartus II软件来选取具体的Altera FPGA器件型号;然后为Nios II系统上的各I/O口分配引脚,另外还要根据要求进行硬件编译选项或时序约束的设置;最后编译Quartus II工程,在编译过程中Quartus II将对Qsys生

第3章 SOPC开发流程及Quartus II的使用 SOPC技术与应用

SOPC设计包括硬件和软件两部分。硬件设计:主要基于Quartus II和SOPC Builder,软件设计:基于Nios II IDE。本章详细讲述了相关内容。 第1章SOPC开发流程和开发工具 SOPC设计包括硬件和软件两部分。 硬件设计:主要基于Quartus II和SOPC Builder。 软件设计:基于Nios II IDE。

流程见图解析: 分析系统需求:在进行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)上仿真软件和运行/调试软件。 在目标板上运行/调试软件:在目标板上反复调试软件。 使用IDE编程工具烧写配置文件和软件代码:最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash,将可执行文件*.elf编程到Flash中。 (1)硬件开发 用SOPC Builder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件,并定制和配置它们的功能;分配外设地址及中断号;设定复位地址;用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能;添加用户自己设计的IP模块。编译Quartus II工程,对HDL文件进行布局布线,从HDL源文件综合生成一个适合目标器件网表,生成FPGA配置文件(.sof); 用下载电缆(如 ByteBlaster II),将配置文件下载到目标板上。硬件校验完成后,可将新的硬件配置文件下载到目标板上的非易失存储器(如EPCS器件)。

相关主题