第2章 SOPC硬件开发环境及流程.

Slides:



Advertisements
Similar presentations
1 I/O 设备访问方式和类型. 2 Overview n The two main jobs of a computer: l I/O (Input/Output) l processing n The control of devices connneted to the computer is.
Advertisements

什么是SOPC: SOPC是英文System On a Programmable Chip的缩写,称为片上可编程系统。SOPC将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理等融为一体,综合了各自的优势,且在结构上形成一块芯片。 为什么用SOPC:SOPC是现代电子技术和电子系统设计的发展趋势,建立了电子系统设计的新模式。用户利用SOPC开发平台,自行设计高速、高性能的DSP处理器、特定功能的CPU及其外围接口电路,创建结构最为简洁的电子系统。
SOPC技术 数字逻辑电路 主讲:刘昌华 嵌入式技术研究所
FPGA设计与应用 大连理工大学软件学院 王洁 2011年春季.
NEUSOFT Institute of information Technology .ChengDu
(原Protel)Altium公司 中国大学计划推介
EDA技术 第9章 FPGA硬件设计.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
第2章 FPGA/CPLD结构与应用.
UClinux在3000平台上的移植.
嵌入式系统应用 概述 随着现代物流业仓储、超市等行业的快速发展,物品流动的速度越来越快,仓储库存周期也越来越短。这样物流仓储盘点行业的压力也越来越大,传统的人工盘点方式已经不能适应现代物流的发展。为了解决这一问题,国际上一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们选取了一个十分典型的国产盘点机进行介绍。其微处理器选型是采用韩国三星公司生产的S3C2410微处理器,操作系统采用了Windows.
《 E D A 技 术》 课 程 教 学 讲授:伍宗富 湖南文理学院电气与信息工程学院 2017年3月22日星期三.
所有培训资料均可从网站 何宾 Tel: 版权所有,禁止未经授权的商业使用行为 何宾 Tel: 所有培训资料均可从网站
ALTERA FLEX10K / FLEX10KE Emulation Board 使用說明書.
电工电子实验中心.
AKA Embedded 开放实验室系列普及讲座之一 FPGA/CPLD的应用和开发简介
EPF10K10TI144-4晶片燒錄.
第1章 FPGA概述 1.1 FPGA的发展历程 1.2 FPGA的基本原理 1.3 FPGA的设计方法 1.4 FPGA的设计流程
水煮FPGA 传统FPGA设计流程简介.
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
所有培训资料均可从网站 何宾 Tel: 版权所有,禁止未经授权的商业使用行为 何宾 Tel: 所有培训资料均可从网站
第3章 DSP Builder设计入门 3.1 DSP Builder及其设计流程 3.2 DSP Builder设计向导
數位系統實驗 --課程介紹 教師:潘欣泰.
PIC16F1827介紹 以微控器為基礎之電路設計實務-微處理器實驗室.
可编程片上系统设计 何宾
微 電 腦 實 驗 Megawin MPC82G516 操作與環境設定.
浅谈基于FPGA的电路设计 报告人:吴爱平 2005/11/13
版权所有,禁止未经授权的商业使用行为 何宾 Tel: 北京中教仪装备技术有限公司.
“互联网+FPGA” 未来计算实验室 --让FPGA使用更简单、更便利、更便宜 FPGA 在线实验.
EDA技术实用教程 第1章 概 述.
第4章 PIC软件开发设计基础.
第4章 常用EDA工具软件操作指南 4.1 Lattice ispEXPERT 操作指南
可编程逻辑器件及ASIC简介.
C H A P T E R 8 体系结构对系统开发的支持.
可编程器件与电子设计自动化 上海交通大学电工及电子技术实验中心 一九九九年三月.
   OR-CAD培训教程 欢迎参加OR-CAD培训      .
EDA 原理及应用 何宾
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
NO.3.1 SOPC技术 第5章 Nios II 系统的外围设备.
第2章 電腦硬體的架構及功能.
嵌入式系統概論-以S3C2440核心為架構 第1章 嵌入式系統概念.
第2章 Quartus II设计向导 2.1 频率计的VHDL设计 2.2 使用宏功能块设计频率计 2.3 嵌入式系统块ESB的应用
QUARTUSⅡ使用简介 高级电子系统设计课程 电路与系统 信息学院
EDA 原理及应用 何宾
DMA-2440XP WinCE5.0安裝與使用 長高科技 顏旭偉.
第14章 其它DSP设计库 14.1 总线控制库 14.2 复数信号库 14.3 Gates库 14.4 状态机函数库
本章小结: 可编程逻辑器件(Programmable Logic Device,简称为 PLD)是目前数字系统设计的主要硬件基础。现场可编程门阵列 FPGA(Field Programmable Gate Array)现场可编程门阵列FPGA在结构上由逻辑功能块排列为阵列,功能由逻辑结构的配置数据决定,配置数据可以存放在片外的EPROM或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能。
Programmable Logic Architecture Verilog HDL FPGA Design
嵌入式系统的Boot Loader技术 陈文智 浙江大学计算机学院 2009年5月.
EDA 技术实用教程 第 5 章 QuartusII 应用向导.
第9章 DSP集成开发环境CCS 内容提要 CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 本章对CCS开发软件的使用作了详细地介绍。首先,对CCS开发软件作了简要地说明,并介绍了该软件的安装及配置;其次,介绍了CCS的基本操作,包括:CCS的窗口和工具条、文件的编辑、反汇编窗口、存储器窗口、寄存器窗口、观察窗口
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
培训目标及内容 第一部分培训目标: PSoC概念 PSoC结构 PSoC设计流程 IP和设计复用技术 PSoC器件电气特性.
第6章 FIR数字滤波器设计 6.1 FIR数字滤波器原理 6.2 使用DSP Builder设计FIR数字滤波器
EDA 第二章 可编程逻辑器件.
第2章ARM/THUMB微处理器结构及指令系统
第1章 概述 1.1 DSP实现方案及设计流程 1.2 现代DSP设计流程概述 1.3 两类DSP解决方案的比较.
第一章 认识PROTEL DXP   本章介绍了Protel DXP的在EDA设计中的作用机安装、卸载过程,对于已经熟练掌握Protel电路设计和计算机软件相关知识的用户,可以直接跳过本章,进入下一章的学习。
ARM Developer Suite 介 绍.
第一章 概 述.
长春工业大学工程训练中心 EDA技术及应用实践课程 Maxplus Ⅱ 软件开发系统简述 主讲:刘春阳 长春工业大学工程训练中心
ARM處理器.
第四章 QuartusII软件的应用 本章重点: 本章难点: EDA技术 QuartusII的设计输入 QuartusII软件的综合与编译
第7章 创建元件库及元件封装 创建原理图元件库 创建PCB元件库及封装 元件封装检错和元件封装库报表 创建项目元件库 项目实训 7.1
第二章ADS1.2开发环境创建与简介.
用户程序的重新接线 目录 页 目标 ………… 概述……… 用SIMATIC 管理器重新接线 …………………
MPLAB IDE 8 建立專案.
Progress Report Yuan-Hsin Liao 10/22/2014.
Programmable Logic System Design
硬件基础知识及常见硬件故障处理.
Presentation transcript:

第2章 SOPC硬件开发环境及流程

2.1 SOPC开发流程和开发工具 SOPC设计包括硬件和软件两部分。 开发环境: 硬件设计:基于Quartus II和SOPC Builder 软件设计:基于Nios II IDE 仿真: ModelSim DSP的开发: Matlab和DSP Builder 开发环境: Quartus II 6.0 (8.0) SOPC Builder 6.0 (8.0) Nios II IDE 6.0 (8.0) 基于Cyclone II 的SOPC开发板

Quartus 完成NiosII整个系统的设计、分析、综合、硬件优化和适配 配置文件编程下载、硬件系统测试 SOPC Builder IDE 完成基于Nios II系统的软件开发和调试 将FPGA配置信息写入Flash或者EPCS Quartus II 8.0 SOPC Builder Nios II IDE Altera

名词解释- 与SOPC相关的名词 II ? Quartus Quartus II: Altera公司的第四代可编程逻辑器件集成开发环境,提供从设计输入到器件编程的全部功能。 双击Quartus II图标 Quartus II 5.0 软件界面

SOPC Builder包含在Quartus II软件中 SOPC Builder:功能强大的基于图形界面的片上系统定义和定制工具。SOPC Builder库中包括处理器和大量的IP核及外设。 启动: Quartus II → Tools → SOPC Builder SOPC Builder包含在Quartus II软件中

名词解释- 与SOPC相关的名词 Nios II: IDE ? Nios II Nios II: Nios II系列嵌入式处理器的基本软件开发工具。所有软件开发任务都可以Nios II IDE下完成,包括编辑、编译和调试程序。 双击Nios II IDE图标 Nios II IDE 软件界面

ModelSim:HDL仿真软件,对设计的硬件系统进行RTL级的仿真。 DSP Builder:Altera公司的数字信号处理软件,实现算法和硬件的无缝过渡,可以在Matlab的Simulink中完成算法的仿真、验证,后通过SignalCompiler将模型文件转换成硬件描述语言。

2.1 SOPC开发流程和开发工具 采用NIOS II处理器设计嵌入式系统的流程: 1. 分析系统需求说明,包括功能需求和性能要求等; 2. 建立Quartus II工程,建立顶层实体; 3. SOPC Builder生成用户定制的系统模块(NIOS II+?) 4. 将NIOS II系统模块集成到硬件工程中,添加一些模块,可以是 Altera公司提供的LPM (logic programmable module)宏功能块或用户自己定制的模块; 5. 在顶层实体中,将NIOS II系统模块、Altera的LPM或用户自定 义的逻辑模块连接起来;

6. 分配引脚(Tcl脚本语言)和编译工程,编译生成系统的硬件配置文件.sof和.pof文件;(二者区别:SRAM\EEPROM) 7. 下载工程,将配置文件下载到开发板上进行验证;(可选) 8.使用IDE开发环境进行软件开发 9. 编译软件工程,生成可执行文件.elf; 10. 调试程序,将硬件配置文件下载到开发板,将可执行文件 下载到RAM,软硬件协同工作。

每个开发过程开始时都应建立一个工程,Quartus II是以工程的方式对设计过程进行管理。在工程中建立顶层模块文件 每个开发过程开始时都应建立一个工程,Quartus II是以工程的方式对设计过程进行管理。在工程中建立顶层模块文件.bdf相当于传统电路设计中的电路板(PCB)。 在进行SOPC开发之前,首先必须确定系统的需求:如系统需求的性能、CPU软核类型(硬件乘法器?)外围器件和数量、需要的带宽和吞吐量、需求的接口类型以及DMA通道数量等。 分析系统需求 建立Quartus II工程, 建立顶层图*.bdf 打开SOPC Builder NiosII内核 定义和生成系统 定制指令&定 &标准外设 制外设逻辑 在SOPC Builder中添加需要的功能模块(Nios II及其标准外设模块),完成后生成一个系统模块。 如果需要,用户可以定制指令和外设逻辑。(可参考第8章) 集成SOPC生 硬件抽象层 使用Nios II 成的系统到 用户C/C++应 自定义的 Altera的 (HAL)&外设 IDE开发软件 Quartus II工程 用程序代码 功能模块 LPM模块 驱动程序 和定制的库 连接各 设置软件运行 功能模块 硬件环境属性 选择FPGA型号 编译软件 生成可执 并进行管脚分配 行文件elf 进行编译 在IDE中使用 ISS运行/调试 选项设置 软件 编译硬件系统 生成配置文件sof 在目标板上 下载配置文件到 下载可执行 FPGA器件 软件到 Nios II系统 使用IDE编程工具 调试好的 在目标板上运 烧写配置文件和 硬件和软件 行/调试软件 软件代码 SOPC开发流程简图

分析系统需求 建立Quartus II工程, 建立顶层图*.bdf 打开SOPC Builder NiosII内核 定义和生成系统 定制指令&定 &标准外设 制外设逻辑 集成SOPC生 成的系统到 硬件抽象层 使用Nios II 用户C/C++应 自定义的 Altera的 (HAL)&外设 IDE开发软件 Quartus II工程 用程序代码 功能模块 LPM模块 驱动程序 和定制的库 连接各 设置软件运行 根据系统要求,设计自己的逻辑功能模块。并在顶层模块中使用; 功能模块 在Quartus II软件中包含了大量的Altera公司提供的LPM功能模块,相当与传统设计中除处理器以外的逻辑芯片(如74系列); 硬件环境属性 在顶层模块中,分别将SOPC Builder生成的系统模块、LPM功能模块以及用户自定义功能模块添加到顶层模块中; 然后将各个功能模块用连线连起来组成系统功能原理图。 选择FPGA型号 编译软件 生成可执 并进行管脚分配 行文件elf 进行编译 在IDE中使用 ISS运行/调试 选项设置 软件 编译硬件系统 生成配置文件sof 这个两过程类似传统电路设计中,将所有要使用的芯片焊接到电路板上,然后通过PCB上的连线将各个芯片连接起来,组成电路系统。 在目标板上 下载配置文件到 下载可执行 FPGA器件 软件到 Nios II系统 使用IDE编程工具 调试好的 在目标板上运 烧写配置文件和 硬件和软件 行/调试软件 软件代码 SOPC开发流程简图

SOPC开发流程简图 为系统原理图,选择载体并为各个输入输出信号分配管脚; 设置编译选项,从而让编译器按照用户设定来进行编译; 分析系统需求 建立Quartus II工程, 建立顶层图*.bdf 打开SOPC Builder NiosII内核 定义和生成系统 定制指令&定 &标准外设 制外设逻辑 集成SOPC生 硬件抽象层 使用Nios II 用户C/C++应 自定义的 成的系统到 Altera的 IDE开发软件 功能模块 Quartus II工程 (HAL)&外设 用程序代码 LPM模块 驱动程序 和定制的库 连接各 设置软件运行 功能模块 硬件环境属性 选择FPGA型号 编译软件 生成可执 并进行管脚分配 行文件elf 为系统原理图,选择载体并为各个输入输出信号分配管脚; 进行编译 在IDE中使用 ISS运行/调试 选项设置 设置编译选项,从而让编译器按照用户设定来进行编译; 软件 编译系统生成硬件系统的配置文件*.sof和*.pof。编译系统是一个非常复杂的过程,包括优化逻辑的组合、综合逻辑、适配FPGA、布线以及时序分析等步骤。 编译硬件系统 生成配置文件sof 在目标板上 下载配置文件到 下载可执行 FPGA器件 软件到 Nios II系统 使用IDE编程工具 烧写配置文件和 调试好的 在目标板上运 硬件和软件 行/调试软件 软件代码 SOPC开发流程简图

软件开发也可以在SOPC Builder 生成系统模块后立即进行!(。PTF文件:硬件系统配置)与传统软件开发类似,唯一不同在于系统是自己定制的,所受局限小! 分析系统需求 建立Quartus II工程, 建立顶层图*.bdf 打开SOPC Builder NiosII内核 定义和生成系统 定制指令&定 &标准外设 制外设逻辑 集成SOPC生 成的系统到 硬件抽象层 使用Nios II 用户C/C++应 自定义的 Altera的 IDE开发软件 功能模块 Quartus II工程 (HAL)&外设 用程序代码 LPM模块 驱动程序 和定制的库 连接各 设置软件运行 功能模块 硬件环境属性 选择FPGA型号 编译软件 生成可执 并进行管脚分配 行文件elf 进行编译 在IDE中使用 ISS运行/调试 选项设置 软件 编译硬件系统 生成配置文件sof 在目标板上 下载配置文件到 下载可执行 FPGA器件 软件到 Nios II系统 使用IDE编程工具 烧写配置文件和 调试好的 在目标板上运 硬件和软件 行/调试软件 软件代码 SOPC开发流程简图

SOPC开发流程简图 设置好软件运行的硬件环境属性后,便可进行编译、链接和调试、运行程序。 对用户程序进行编译,生成可执行文件*.elf。 分析系统需求 建立Quartus II工程, 建立顶层图*.bdf 打开SOPC Builder NiosII内核 定义和生成系统 定制指令&定 &标准外设 制外设逻辑 集成SOPC生 成的系统到 硬件抽象层 使用Nios II 用户C/C++应 自定义的 Altera的 (HAL)&外设 IDE开发软件 用程序代码 功能模块 Quartus II工程 LPM模块 驱动程序 和定制的库 连接各 设置软件运行 功能模块 硬件环境属性 设置好软件运行的硬件环境属性后,便可进行编译、链接和调试、运行程序。 选择FPGA型号 编译软件 生成可执 并进行管脚分配 行文件elf 对用户程序进行编译,生成可执行文件*.elf。 进行编译 将配置文件.sof下载到FPGA,将可执行文件.elf下载到RAM。 在IDE中使用 ISS运行/调试 选项设置 软件 直到硬件和软件设计都达到设计要求。 在IDE的指令集仿真器(ISS)上仿真软件和运行/调试软件。 (可选) 编译硬件系统 生成配置文件sof 最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash,将可执行文件*.elf编程到Flash中 在目标板上 下载配置文件到 下载可执行 FPGA器件 软件到 Nios II系统 在目标板上反复调试软件。 使用IDE编程工具 调试好的 在目标板上运 烧写配置文件和 硬件和软件 行/调试软件 软件代码 SOPC开发流程简图

SOPC硬件开发流程 从开发套件提供的外设列表 中选取合适的CPU、存储器及外围器件,定制和配置其功能; 分配外设地址及中断号; 设定复位地址; 添加用户自身定制指令逻辑 到NiosII内核加速CPU性能 添加用户自己设计的IP模块。 生成系统。 编译,综合,布局布线,从 HDL源文件综合成一个适合 目标器件网表,生成FPGA 配置文件(.sof); 用下载电缆将配置文件下载 到目标板。调试完成后,将 硬件配置文件下载到目标板 的非易失存储器(如flash)。

2.2 SOPC硬件开发实例 电子钟的设计 第一步是要进行需求分析,建立系统 在液晶屏上显示日期、时间; 可以设置日期、时间; 根据系统要求,设计要用到的外围器件 LCD:电子钟显示屏幕; 按键:电子钟设置功能键; Flash存储器:存储软、硬件程序; SRAM存储器:程序运行时将其导入SRAM。 根据所用到的外设、功能以及开发板的配置,在SOPC Builder中建立系统要添加的模块包括 Nios II CPU、定时器、按键PIO、LCD控制器、AVALON三态桥、外部RAM接口、外部Flash接口。

2.2 SOPC硬件开发实例 2.2.1 创建工程 进行完需求分析之后,进行硬件系统的创建。 首先必须建立一个Quartus II 的工程, 步骤如下: 1.启动Quartus II软件; 2. 选择File菜单New Project Wizard,出现Introduction页面,该页面介绍所要完成的具体任务,点击next。

2.2.1 创建工程

2.2.1 创建工程 3. 目录、顶层实体名和工程名 注意1: 工程名和顶层实体名字一致 注意2: 路径、工程名、顶层实体名均为英文

2.2.1 创建工程 4.可以为工程添加先期已经输入的设计文件,指定用户自定义的元件库的路径。

2.2.1 创建工程 5. 指定目标器件,根据开发板使用的器件来选择。 注意3: 器件型号 CycloneII EP2C35F672C8

2.2.1 创建工程 6. 指定在Quartus II 之外的用于设计输入、综合、仿真、时序分析的第三方EDA工具。(Precision Synthesis\Synplify等)

7. 新工程的信息。在设计的过程中,还可以通过菜单assignmentSettings来对这些配置进行修改。

8. 点击Finish按钮,Quartus II自动会打开这个工程,可以看到顶层实体名出现在工程导航窗口中。

2.3 创建Nios II 系统模块 创建顶层实体 创建Nios II系统模块:NIOS II 嵌入式处理器,添加、配置系统的外设IP

2.3.1 创建顶层实体 (1)选择FileNew;在Device Design File页中,选择Block Diagram/Schematic File,即原理图文件(也可以选择硬件描述语言的文件形式), 单击OK。

2.3.1 创建顶层实体 (2) 选择FileSave As,显示的目录为之前设置的工程目录,文件名为之前设置的顶层实体名.

2.3.2 创建Nios II系统模块 使用工具:SOPC Builder Nios II系统模块:Nios II处理器 和相关的系统外设。 创建系统模块的流程:先创建一个系统,然后添加Nios II CPU和外设IP,生成实例或者模块,加入到工程的顶层实体。 SOPC Builder

2.3.2 创建Nios II系统模块 一、创建系统 启动SOPC Builder(ToolsSOPC Builder) 注意4: 系统名称

二 、设置系统主频和指定目标FPGA 设置系统的时钟频率 版本6.0:在Target栏中的Board部分指定核心开发板——Cyclone II (EP2C35)。(IDE: flash 器件编程) 版本8.0:在Device Family选择Cyclone II。(注意5!)

三、加入Nios II CPU和 IP模块 首先加入Nios II软核 1. Avalon Components 下面选择Nios II Processor; 2. 双击或者右键 Add,出现Nios II CPU的配置向导

根据需要选择Nios II核 Hardware Multiply选择none,不选择Hardware Divide 注意6: Embedded Multipliers:使用专门的内嵌硬件乘法单元(乘法速度最快)。 ②Logic Elements,使用逻辑单元也就是FPGA中的查找表(速度较慢)。③None:只能通过软件模拟乘法,速度最慢。

点击Next,进入缓存设置窗口; 可设Instruction Cache为4Kbytes,Data Cache 2Kbytes

Advanced Features设置 不选择Include cpu_resetrequest and cpu_resettaken signals(注意7:resetrequest—该复位信号仅复位处理器。处理器在收到该信号后,先执行完 流水线的所有指令,然后进入复位状态。处理器在复位完成后会使cpu_resettaken信号生效一个时钟周期) 点击Next进入MMU and MPU设置。(Quartus 8.0) (注意8:存储器管理单元 MMU和存储器保护单元 MPU)

JTAG调试级别选择 选择Level1:该级别支持软件的断点调试。 JTAG调试模块要占用较多的逻辑资源,系统调试完毕了可以选用No Debugger

自定义指令的设置,不作任何的设置。点击Finish完成NIOS II处理器的添加 处理器的编辑和修改

添加其它外设IP模块 除了Nios II CPU,电子钟设计需要添加的IP模块包括: Timer Button PIO LCD控制器 External SRAM 总线 External Flash 总线 External SRAM 接口 External Flash 接口

1. 添加定时器 (2)配置定时器,点Finish,完成定时器的添加。可重命名。 (1)如图选Interval Timer并双击,向导窗口出现;(注意9) (2)配置定时器,点Finish,完成定时器的添加。可重命名。

2. 添加Button PIO (1)在Basic Settings,设width?direction? (2)在Input Options,Edge Capture Register选中 Synchronously Capture,选择Either Edge; (3)点击Finish完成,重命名

3. 添加LCD控制器 (1)如图选Character LCD(Optrex 16027),双击。(注意10) (2)Module Name下出现,lcd_16027_0; (3)将其重命名lcd_display。

4.添加外部RAM接口 (1)如图单击Add,出现SSRAM (Cypress CY7C1380C)向导 (2)设置Read Latency和Memory Size (3)Finish完成,重命名为ext-ssram。

5. 添加外部闪存接口 (1)前图双击,外部flash接口; (2)在Attributes中,Presets列表中选择相应的flash。

6. 添加外部RAM和flash总线(Avalon三态总线桥) Nios II 系统与外部存储器通信,要在Avalon总线和外部存储器之间加入Avalon三态桥。 (1) 如图选择Avalon Tri-State Bridge,点击Add,出现向导; (2) Registered选项默认为选中;重命名为ext_ssram_bus; (3) 再添加一个Avalon三态总线桥,重命名为ext_flash_bus.

7. Nios II系统的连接 (注意11) 所有添加的IP连接是系统自动完成的。对于三态桥和外部存储器接口的连接,系统的自动连接可能和用户的开发板不匹配,用户需要进行手动的更改。 主要是外部RAM接口要和RAM的三态桥连接,外部的Flash接口要和flash的三态桥连接。 针对用的开发板的情况进行的设置,实验用的开发板SRAM和flash没有使用共用的数据线和地址线。 所以必须为它们分别添加一个三态桥。

2.3.3分配IP模块的地址和中断号 SOPC Builder为各个IP模块分配了一个默认的基地址,用户可以改变这些地址。如果分配的地址出现冲突,如下:

(1)自动分配地址:System菜单的Auto Assign Base Address (2)手动分配地址:Flash外设的Base栏,将地址改为0x0,如果 冲突SOPC Builder会出现错误的提示。 (3)锁定地址:选择Module菜单中的Lock Base Address (4)手动修改外设的中断号:号越小,优先级越高 (5)自动分配中断号:选择System菜单中的Auto Assign IRQs。 建议采用手动的分配。

注意:!!

2.3.4 配置NIOS II 系统 Reset Address:选择存放Boot Loader的存储器和设置Boot Loader在存储器中的偏移。选择ext_flash,偏移选择默认; Exception Address:选择存放异常向量表存放的存储器和异常向量表在存储器偏移,选择ext_ssram,偏移选择默认;

2.3.5 生成NIOS II并加入到工程中 单击System Generation 若选中 Simulation,生成用于仿真的相应的文件。 点 Generate,SOPC Builder提示生成系统的进程,需3-4分钟

系统生成完成后,SOPC Builder为这个定制的NIOS II系统模块创建了一个符号,Nios II系统再加入到工程中: (1)打开顶层实体(BDF),任意处双击,出现 Symbol对话框 (2)在Symbol对话框中单击Project来展开工程目录,其下出现 NIOS2,选中它,右侧出现了系统的符号表示; (3)点OK,NIOS2出现在BDF窗口中,创建的系统加入到工程

2.3.6 加入引脚和嵌入式锁相环 嵌入式锁相环有两个时钟输出,一个输出SSRAM提供时钟,另一个时钟的输出为NIOS II CPU提供时钟. 加嵌入式锁相环步骤如下: (1) 点击ToolsMegaWizard Plug-In Manager,出现MegaWizard Plug-In Manager向导窗口,点击next

IO下面选择ALTPLL,器件选择Cyclone II,输出文件类型选择VHDL,文件名为ssram_pll

引脚添加 (1)顶层实体的bdf窗口的空白处双击鼠标,出现Symbol添加窗口,选择pin,选择相应类型的引脚,点击OK。 (3)重复上面的步骤添加为各个端口添加相应类型的引脚。 (4)命名引脚方法:双击引脚的“pin_name“,对其编辑。对于总线型的引脚,引脚名称+总线位数:如ddr_a[12..0]

将嵌入式锁相环和系统模块等连接起来,将引脚连接到相应的端口上。

2.4设计优化 设计优化:节省占用FPGA的面积和提高系统速度。 “面积” ; “速度”是指设计的系统在目标芯片上稳定运行时能够达到的最高频率

1. 面积与速度的优化 选择Assignment菜单下的Settings命令 在Analysis & Synthesis Settings: Optimization Techniques栏中,有Speed、Balanced和Area3种优化选择,Balanced是软件缺省的优化选择。

2. 时序约束与设置 选择Settings下面的Timing Analysis Settings 选择Classic Timing Analyzer Settings。 可以根据目标芯片的特性及PCB板走线的实际情况,给出设计需要满足的时钟频率、建立时间、保持时间和传输延迟时间等参数。 简单应用,不需要!

2.5 编译 Quartus II编译器由一系列处理模块组成 包括:分析与综合、适配、汇编和时序分析等。 编译设置:合理编译的设置可以提高工程编译的速度,优化器件的资源利用,甚至降低系统的功耗! !编译之前须对未使用的引脚做设置:将未使用的引脚设置成As inputs,tri-stated。

步骤(注意):(1) 在Settings对话框中的Device中,单击Device and Pin Options,出现Device and Pin Options。 (2)单击Unused Pins,在Reserve all unused pins下选择,As inputs,tri-stated。

2.5.1 引脚分配 引脚分配:使编译器能把设计的信号分配到目标器件上的特定引脚上。 两种引脚分配方法: 第一种:使用Assignments Editor或pins 或 pin planner 第二种:使用TCL脚本一次性分配所有的引脚

1. Assignments Editor (1)选Assignments菜单中的 pins 或 pin planner或 (2)在Node Name下输入引脚名称,在Location选择 相应的引脚。 (3)选择FileSave保存分配。 这种分配方法效率较低,适合较少管脚的分配。

2. TCL脚本文件分配引脚 (1) 选择project下的generate Tcl file for project. 名字:pin.tcl (2) 打开标准工程(.\80\.),下的standard.tcl文件 (3) 把standard.tcl文件中带set_location_assignment指令, 并且-to后面的参数与现有工程中使用的管脚名相同的语句 拷贝到pin.tcl文件的下面位置 (最后一条set_global_assignment语句后),后保存。

(4)Tools菜单下,选TCL scripts…,出现下图 (5)选择建立的引脚分配文件pin.tcl,点RUN即可完成引脚分配。 (6)如何查看分配结果呢?

注意: 如果管脚名字与standard工程的对应管脚名字不同,不能使用该方法,或者需修改脚本。 该方法在有参照工程管脚定义的情况下,节省定义管脚的时间。

2.5.2 编译用户设计 选择Processing菜单中的Start Compilation To:

编译成功之后,出现Compile Report. 点击相关内容查看相应的编译信息,如Analysis & synthesis、Fitter、Timing Analyzer等。

注意:NIOS系统发生改动后需重新编译 To:

注意:NIOS系统有变化后需重新编译 To:

2.6 编程下载 编译成功之后,Quartus II 编译器生成配置 两个文件: .sof和.pof .sof文件一般在调试时下载到FPGA的SRAM中 .pof文件是用于EPCS的编程文件。 实验平台采用的下载线为USB Blaster。

2.6.1下载 如何将生成的.sof文件下载到FPGA中: (1)同过USB Blaster电缆将目标板和计算机相连,接通目标板的电源。 (2)在Quartus II软件中选择ToolsProgrammer,打开编程器的窗口,可以看到配置文件clock.sof。

(4)选中Program/Configure,然后点击start开始按钮,开始下载,可以从Progress栏看到下载进度。 说明:USB驱动的安装方法(补充文件)

2.6.2验证 硬件下载到FPGA芯片后,可编程测试系统的功能。

2.6.3 启动软件开发环境