SOPC复习纲要_第1页
SOPC复习纲要_第2页
SOPC复习纲要_第3页
SOPC复习纲要_第4页
SOPC复习纲要_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基础题型1、 SOPC设计流程分为哪些基本步骤? 1 设计准备:方案论证、系统设计、器件选择等 2 设计输入:图形、文本、存储器、波形等Top-Down 3 设计编译:分析与综合、适配、编程、时序分析 4 设计仿真:功能仿真、时序仿真 5 器件编程:将设计处理的编程数据文件载入到PLD中 6 硬件测试:在开发系统中对设计的系统进行测试2、软核、硬核、固核、IP概念与区别? 软核(Soft IP Core) 以HDL文本形式提交给用户,已经过RTL级设计优化和功能验证,但其中不含任何具体的物理信息。常用的CPU软核:Altera的Nios、Nios II 固核(Firm IP Core) 介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节。 硬核(Hard IP Core) 基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已通过工艺验证,具有可保证的性能。常用的CPU硬核:ARM、MIPS、PowerPC、Intel x86、Motorola68000等。 集成电路IP:经过预先设计、预先验证、符合产业设计规范和设计标准,并具有相对独立且可以重复利用的电路模块或子系统,如CPU、运算器、放大器、存储器等。在支持SOPC设计的EDA工具软件中包含IP库。3、简述支持SOPC技术的EDA工具软件的种类及特点? Quartus II: 是Altera公司的第四代可编程逻辑器件集成开发环境,提供了SOPC设计的综合开发环境,是SOPC设计基础,将设计、综合、布局、仿真验证和编程下载及第三方EDA工具集成在一个无缝的环境中,可以进行系统级设计、嵌入式系统设计和可编程器件设计。提供从设计输入到器件编程的全部功能。 SOPC Builder: 是功能强大的基于图形界面的片上系统定义和定制工具。SOPC Builder库中包括处理器和大量的IP核及外设。 Nios II IDE(集成开发环境) 是Nios II系列嵌入式处理器的基本软件开发工具。采用菜单界面方式开发与调试C/C+应用程序,提供多C/C+种应用程序模板和相应的头文件。所有软件开发任务都可以在Nios II IDE下完成,包括编辑、编译和调试程序。直观、使用方便,编译与运行速度较慢。 Nios II SDK Shell(软件开发包) 采用输入命令进行编译检查、运行、调试C/C+应用程序。不够直观,但是编译检查、运行和调试速度较快。 Modelsim:Modelsim : 是一种快速又方便的HDL编译仿真工具。具有强大的数字和模拟仿真功能,在设计、仿真、测试和调试开发过程中,有一整套工具可供使用,而且操作灵活。Quartus II界面直接使用Modelsim对生成的HDL代码进行编辑、编译和功能仿真(不能编辑输入波形,需要编写测试程序完成初始化与输入)。 Modelsim不能指定器件、不能编程下载。 DSP Builder: Altera公司的数字信号处理开发工具,设计者可以Matlab软件中完成算法设计。在Simulink完成系统集成后,通过Signal Compiler模块生成在Quartus II软件中可以使用的测试文件(用于仿真检查)和硬件描述语言文件(用于编程下载)。 DSP Builder用途和特点: Altera公司的数字信号处理开发工具,设计者可以Matlab软件中完成算法设计。在Simulink完成系统集成后,通过Signal Compiler模块生成在Quartus II软件中可以使用的测试文件(用于仿真检查)和硬件描述语言文件(用于编程下载)。 4、简述DSP Builder 的用途和特点?用途:帮助开发者完成基于FPGA的DSP设计,自动完成大部分的设计工程和仿真,直至把设计文件下载至FPGA中。特点:应用灵活,成本低,但在速度上比用硬件实现的DSP要慢很多。5、试说明 Nios 2 的 IDE 和 SDK调试方式的区别? Nios II系统有两种调试方式:IDE和SDKIDE调试方式面向对象,通过直观的软件界面上的菜单、按钮完成各种操作;SDK调试方式面向过程,通过执行各种命令完成程序的调试与运行。 6、简述 HAL 的用途及基于HAL的外围设备的编程方法? HAL的作用 HAL(硬件抽象层)为与硬件进行通信的程序提供简单的设备驱动接口。HAL的应用程序接口(API)是与ANSI C标准库综合在一起的,使用户可以用类似C语言的库函数访问硬件设备或文件。HAL作为支持Nios II处理器系统的软件包,为用户的嵌入式系统上的外围设备提供了与之相匹配的接口程序。基于HAL的外围设备的编程方法 (1)标准输入(stdin)、标准输出(stdout)和标准错误(stderr)这三个函数是最简单的控制I/O设备的方法。HAL系统库在后台管理stdin,stdout,stderr函数,它可以使用户通过相关通道发送和接收字符。用户可以通过在Nios II IDE中设置系统库的属性给每个通道分配一个具体的硬件设备,使用标准输入、标准输出和标准错误函数来控制外围设备。 (2)字符模式设备的通用访问方法(打开文件与写文件方式)除了用 stdin、stdout、stderr函数之外,字符模式设备还可以通过打开和写文件的方式进行访问。 7、试说明用户自定义IP核的步骤?1编写IP文件 2 ip文件配置 3设置ip search目录 4添加ip8、简述基于 Nios II与HAL的SOPC 系统软硬件开发步骤? Nios II的硬件开发 1、在Quartus中新建一个工程 2、用SOPC Builder建立一个新的SOPC硬件系统 3、加入Nios II系统组件 4、调整SDRAM地址 5、CPU设置与系统生成 6、建立顶层设计文件生成Nios II硬件系统 7、引脚锁定 软件开发:1、新建软件工程 2、编译工程 3、调试工程 4、运行工程 9、SOPC Builder的组件库中通常有哪些成员?答:提供了三个成员供选择:Nios/e(经济型)成员,具有占用最小逻辑的优化,占用600700逻辑元件。Nios/f(快速型)成员,具有高性能的优化,占用14001800逻辑元件。Nios/s(标准型)成员,在占用逻辑和高性能优化方面的性能居中,占用12001400逻辑件。 基本的SOPC系统大致可以分为FPGA、存储器、外围元件三个部分。FPGA部分的核心是Nios CPU CORE(CPU核),设计工作主要在FPGA部分进行。CPU核 JTAG UART(JTAG通用异步通信总线) UART(通过串口与计算机通信) PIO口 Avalon三态总线桥(用于CPU与SRAM等器件相连) 片外SRAM Timer定时器 LCD液晶显示器 Flash存储器(用于掉电时保存信息) Flash控制器 SDRAM控制器 系统标识System ID组件(只读组件) 10、试说明引脚锁定的作用和方法? 作用: 用户需要进行引脚分配,使得编译器能把用户设计中的信号分配到目标器件上的特定引脚上。 方法: (1)采用导入引脚锁定文件的方法 AssignmentImport Assignments,导入以.CSV为后缀的引脚锁定文件。此方法要求顶层设计图管脚名称与锁定文件一致。 (2)采用Assignments-Pins或Pin Planner工具。 AssignmentPins/Pin Planner/Assignment Editor中进行编辑设置(3)编辑引脚锁定文件,再导入的方式。(当分配的引脚的数量比较多使用方便) File-New-Other Files-Tcl Script File 文件格式和内容如下:#Setup.tcl #Setup pin setting例5.1编写C/C+程序,让DE2开发板上的18只红色发光二极管LEDR17LEDR0依次向左移位发光。LEDR18.c#include count_binary.hint alt_main(void) int i,data; data=0x01; for(i=0;i18;i+) IOWR (LED_RED_BASE,0,data); data=1 usleep(100000); count_binary.h LED18.c及其他程序所需头文件#include “alt_types.h”#include #include #include “sysytem.h”#include “sys/alt_irq.h”#include “altera_avalon_pio_regs.h”例5.2编写C/C+程序,让DE2开发板上的9只绿色发光二极管LEDG8LEDG0依次向右移位发光。LEDG9.c#include count_binary.hint alt_main(void) int i,data; data=0x100; for(i=0;i=1 usleep(100000); 例5.3编写C/C+程序,让DE2开发板上的8只七段数码管HEX7-HEX0 以两屏显示sum的数据。HEX7.c#include count_binary.hint alt_main(void) int sum; while(1) sum=0x20060101; IOWR (SEG7_DISPLAY_BASE,0,sum); usleep(100000); sum=0x00235959; IOWR (SEG7_DISPLAY_BASE,0,sum); usleep(100000); 例5.4编写C/C+程序,用key变量读取DE2开发板上18只电平开关SW上的数据,并用七段数码管显示读出的数据。SW18.c#include count_binary.hint alt_main(void) int key; key=IORD (SWITCH_PIO_BASE,0); IOWR (SEG7_DISPLAY_BASE,0,key);例5.5编写C/C+程序,让DE2开发板上的18只红色发光二极管LEDR17-LEDR0依次向左移位或依次向右移位发光,用按钮KEY0控制移位方向。button_1.c#include count_binary.hint alt_main(void) int i, key, data; while(1) key=IORD(BUTTON_PIO_BASE, 0); if ( key & 0x01) data=0x01; for ( i=0; i18; i+) IOWR (LED_RED_BASE,0,data ); data1; usleep(100000); else data=0x02000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论