第2章 SOPC开发流程及开发平台简介

第2章  SOPC开发流程及开发平台简介
第2章  SOPC开发流程及开发平台简介

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目标芯片;

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 系统中,并在目标板上运行调试软件,如果发现软件设计不满足设计要求,则再改进硬件和软件的设计。

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);

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 -

第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器件)。

SOPC学习问题集答案

一、名词解释 什么是IC、ASIC、SOC、SOPC、EDA、嵌入式系统等 IC:是半导体元件产品的统称,包括:集成电路、三极管、特殊电子元件。 ASIC:专用IC。是指为特定的用户、某种专门或特别的用途而设计的芯片组。 SOC:片上系统。随IC设计与工艺的提高,使原先由许多IC组成的电子系统可集成到一个芯片上,构成SOC。 SOPC:可编程的片上系统。是Altera公司提出来的一种灵活、高效的SOC解决方案。也可认为是基于FPGA解决方案的SOC。 EDA:电子设计自动化。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 二、简答题 1,嵌入式系统的基本架构如何? 2,构成SOPC的方案有几种途径?简述它们的实现方法并比较优劣。 构成SOPC的方案有三种途径,1.基于FPGA嵌入IP硬核的SOPC系统;2.基于FPGA 嵌入IP软核的SOPC系统;3.基于HardCopy技术的SOPC系统 1)基于FPGA嵌入IP硬核的应用。这种SOPC系统是指在FPGA中预先植入处理器。 这使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC系统。 2)基于FPGA嵌入IP软核的应用。这种SOPC系统是指在FPGA中植入软核处理器,如:NIOS II核等。用户可以根据设计的要求,利用相应的EDA工具,对NIOS II及其外围设备进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。 3)基于HardCopy技术的应用。这种SOPC系统是指将成功实现于FPGA器件上的SOPC 系统通过特定的技术直接向ASIC转化。把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子产品,避开了直接设计ASIC 的困难。 3,简述Nios II 处理器系列包括哪几种内核?并说明具体特点。 Nios II 处理器系列包括三种内核分别是Nios II/f (快速)、Nios II/e (经济)、Nios II/s (标准)。Nios II/f (快速):性能最高,但占用的逻辑资源最多。Nios II/e (经济):占用的逻辑资源最少,但性能最低。Nios II/s (标准):平衡的性能和尺寸。NiosII/s内核比第一代的Nios CPU更快,占用的资源更少。 4,简述可配置嵌入式软核处理器的优势。 优势:1. 提供合理的性能组合;2. 提升系统的性能;3. 降低系统成本;4. 延长产品的生命周期。 5,基于Nios II软核处理器的SOPC开发需要用到哪些开发工具软件?

实验一 一个简单的SOPC系统

实验一一个简单的SOPC系统 一、实验目的 1.学习Quartus II、SOPC Builder、Nios II IDE的基本操作; 2.初步了解SOPC的开发流程,基本掌握Nios II软核的定制流程; 3.掌握Nios II软件的开发流程;掌握软件的基本调试方法。 二、实验内容 1.建立用于控制LED闪烁的简单SOPC系统; 三、实验环境 1.硬件:PC机、EDA/SOPC/DSP实验系统; 2.软件:Quartus II 8.0,SOPC Builder 8.0,Nios II IDE 8.0。 四、实验操作方法 (一)实验前准备 新建工作目录exp1;新建工程exp1并设置未使用管脚为三态输入。 (二)建立顶层模块 新建一个Schematic文件,并命名为exp1.bdf。 (三)使用SOPC Builder创建Nios II系统 1.在Quartus II集成开发环境中选择Tools→SOPC Builder选项启动SOPC Builder。 图1-1 启动SOPC Builder SOPC Builder启动后,显示Create New System对话框,如图1-2所示,输入系统名为ledsystem,注意此系统名不能与顶层模块(BDF文件)的文件名同名,否则就不能在顶层模块中插入该系统模块。选择目标硬件语言为VHDL,系统生成后,SOPC Builder输出所选语言的设计文件。单击OK,进入SOPC Builder图形界面。

图1-2 创建新系统 2.指定目标FPGA和时钟设置 在Target选项区域中的Device Family下拉列表框中选择SOPC实验箱上的FPGA系列,本实验为Cyclone II。设置时钟频率为50MHz,与系统实际运行的时钟频率相匹配。 图1-3 设置目标FPGA和时钟 3.添加Nios II处理器内核 Nios II支持3种类型的CPU,根据应用要求和目标FPGA中的器件约束(逻辑资源),选择适合的CPU核。本实验选择Nios II/s。 图1-4 Nios II Core选项卡 单击Next,在Instruction Cache和Data Cache下拉列表框中选择各自Cache的容量,本实验指定指令Cache为2KB,不使用数据Cache。 图1-5 Cache & Tightly Coupled Memories选项卡

相关主题
相关文档
最新文档