SOPC期末复习题
文具盒作文-小学五年级科学教案
第一、二章
【】名词解释
SOC 、SOPC、
IP、固核、软核、硬核、nios II、SOPC Builder、quartus II
【】构成SOPC系统的方案有哪些?各有什么特点?
【】简述SOPC系统开发流程?Quartus II 和SOPC
Builder在这过程中分别起什么作用?谈谈
你对SOPC的理解。
流程:
1. 分析系统需求,包括功能需求和性能要求等
2. 建立Quartus
II工程;
3. 使用QsysSOPC
Builder生成一个用户定制的系统模块(包括NIOS
II、标准外设模块
及用户定制外设模块);
4.
将SOPC系统模块集成到Quartus II工程中,并添加一些模块,可以是Altera公司提
供的LPM模块、第三方提供的或用户自己定制的模块;将SOPC系统模块、Altera的LPM或
用户自定义的模块连接起来;建立顶层实体。
5.
分配引脚和编译工程,编译生成系统的硬件配置文件.sof和.pof文件;
6.
下载工程,验证,将配置文件下载到开发板上进行验证;
7.
软件开发,开发可以使用IDE开发环境;
8 编译软件工程,生成可执行文件.elf;
9.
调试程序,将硬件配置文件下载到开发板,将可执行文件下载到RAM,直到软硬件
协同工作。
SOPC Builder: nios2系统模块构建工具,用于配置、生成nios2系统模块;
QuartusII:用于完成Nios II硬件系统的分析综合、优化、适配、下载测试等
【】目前常见的软核处理器:Altera公司的Nios
II核,Xilinx公司的MicroBlaze核
第三章
【】Nios II
处理器系列包括三种内核(32位软核处理器) :
Nios IIf
(快速)性能最高,但占用的逻辑资源最多; Nios IIe
(经济)占用的逻辑资源最少,
但性能最低; Nios IIs
(标准)具有平衡的性能和尺寸,NiosIIs内核比第一代的Nios
CPU更
快,占用的资源更少。
【】nios2架构提供存储器映射的(Memory-M
apped)IO访问:数据存储器和外设都被映
射到数据主端口的地址空间(外设和存储器使用统一的
地址空间)。
【】Nios II结构的指令主端口和数据主端口都支持高速缓存。高速缓存虽然改善
了系统的整
体性能,但使程序的执行时间变得不可预测。对于实时系统来说这一点至关重要。
【】存储数据时,nios2使用小端字节顺序:高字节对应高地址;低字节对应地址地。
【】紧耦合存储器(TCM)与高速缓存cache的区别。
第四章
【】名词解释
Avalon外设: 是Avalon存储器映射外设的简称,包括存储器、处理器、UART、PIO
、定
时器和总线桥、用户自定义Avalon外设等。外设和存储器使用相同的总线来寻址。
Avalon端口:完成数据传输的接口所包含的一组Avalon信号。分为主端口和从端口。
主端口在Avalon总线上发起数据传输,目标从端口在Avalon总线上响应主端口发起的数据<
br>传输。
主从端口对:是指在数据传输过程中,通过Avalon交换架构连接起来的主端口和从端
口。
Avalon传输:是指Avalon端口和Avalon交换架构之间的数据单元的读写操作。分为主
传输和从传输。主端口发起对交换架构的主传输;从端口响应来自交换架构的从传输。
【】在基于FPGA片上系统中,Avalon总线是用于连接哪些组件或设备的总线结构
A
valon总线规范是altera公司开发的用于连接处理器与片内外外设的总线技术;描述
了主从端
口之间的信号连接关系、传输模式及通信时序。
【】Avalon从端口传输可分为哪几种?
(1)从端口读传输
从端口基本读传输、具有固定可变等待周期的从端口读传输、具有建立时
间和固定等
待周期的从端口读传输。
(2)从端口写传输
从端口基本写传输、具有
固定可变等待周期的从端口写传输、具有建立时间保持时间
的从端口写传输。
【】地址边界:
是指由主端口数据宽度决定的字地址边界。例如主端口数据宽度为32位,
则本地地址边界落在0x00
、0x04、0x08、0x0C等地址上。
【】地址对齐:决定了从端口数据单元在主端口地址空间
中的位置。可分为静态地址对齐和
动态地址对齐2种方式。
本地地址对齐:从端口数据必须与主端口的地址边界对齐。
本地地址对齐的好处:
适用于映射到存储器空间的寄存器控制的从外设;一次只访问外设的一个控制数据
状态寄存器。
动态地址对齐:从端口数据在主端口地址空间中连续地按字节对齐
动态地址对齐的好处:
1)32位的Nios II处理器可以使用廉价的8位或16位存储器作为数据和程序存储。
2)存储器的物理宽度对于软件设计人员是透明的,在开发软件时,不必考虑程序
在何种宽度
的存储器上运行。
3)不需要软件进行数据拼接,软件开发简单且执行速度快。
第六、七章
【1】HAL系统库。
硬件抽象层HAL是轻量级的运行环境,提供了
设备驱动程序接口,应用程序使用设备
驱动程序接口访问底层硬件。
【2】HAL系统库为用户提供下列支持服务:
1)、集成newlib ANSI
C标准库,提供C标准库函数。
2)、提供访问系统中每个设备的驱动程序。
3)、提供统一的、标准的HAL服务接口HAL API,用于设备访问,中断处理等
4)、完成对系统的初始化,即在main()之前,执行处理器和运行环境的初始化任务。
5)、完成对系统外围设备的初始化。
【3】基于HAL开发NIOSII软件的优点是什么?
NIOSII处理器系统的HAL基于一个特定的SOPC Builder系统创建,SOPC
Builder与NiosII
EDS之间的紧密集成保证了:
(1)用户在创建应用工程时,NiosII
IDE也同时创建了HAL系统库,用户不必创建、复
制、编辑HAL系统库, NiosII
IDE自动为用户管理和维护HAL库;
(2)若SOPC
Builder的硬件系统发生了改动,NiosII
IDE会自动地对HAL系统库进行更
新,保证了底层硬件与应用程序的一致性。
【4】HAL支持的外围设备有哪几种?
1、字符模式设备,包括UART核、JTAG uart核和LCD16207显示控制器。
2、Flash存储器设备,包括通用Flash接口芯片和Altera
EPCS串行配置设备控制器。
3、文件子系统,包括只读文档系统。
4、定时器设备,包括定时器核。
5、DMA设备,包括DMA控制器核。
6、以太网设备,包括LABN91C111以太网MACCHY控制器。
【5】Nios2
程序的构成
Nios2程序由应用工程、库工程(可选的)和BSP(板级支持包)工程构成。
(1)nios2 CC++应用工程由一组源文件及一个makefile文件组成,其中一个源文件
包
含main函数,可以调用库和BSP中的函数。
(2)库工程:一组源代码的集合,库中
不包含main函数。这些源代码编译后生成库文
件(.a)。
(3)BSP工程是一个特殊
的库,包含特定系统的支持代码,为nios2处理器提供定制的
软件运行环境。BSP包含以下部分:
硬件抽象层HAL、newlib C标准库、设备驱动、软件包
(可选的)、实时操作系统(可选的)
【6】nios2工程的结构
1)应用工程即用户程序,由用户创建的(.c,.
h,.s,.S)文件定义。用户应用工程依
赖于HAL BSP工程。
2)HAL
BSP工程由nios2 SBT for eclipse中的BSP
settings定义,依赖于硬件系统。当用
户创建应用工程时,nios2 SBT for
eclipse会创建HAL BSP工程。HAL
BSP工程中包含所有的用
户程序和硬件之间的接口信息;以及和硬件系统有关的HAL设备驱动程序。
3)硬件系统又称为Nios2处理器系统,由系统集成工具(SOPC Builder 或 Qsy
s)创建
的.sopcinfo文件定义。当硬件系统发生变化时(即.sopcinfo文件发生改变
),可以使用nios2
SBT for
eclipse重新生成BSP工程,保证BSP工程和硬件系统之间同步更新。
【】系统描述文件
(system.h):提供了nios2系统硬件的软件描述,即系统中都包含哪些硬
件。其内容取决
于硬件配置和HAL BSP属性。描述了系统中每个外设的如下信息:
外设的硬件配置
外设的基地址
中断信息
外设的名称
【】字符型设备的访问方法
1、使用标准输入输出错误通道来访问字符型设备。用户可以通
过BSP设置将标准通
道重定位到某一特定的字符型设备上。
2)使用通用的访问文件的方式访问字符型设备。
【】PIO核的功能和编程
功
能:1.数据输入和输出:可配置为输入、输出、或双向(带三态控制)。2.边沿捕捉:
能够捕捉输入
信号的上升沿、下降沿,或二者都可,捕捉结果保存在edgecapture寄存器中。
3.产生中断
:电平敏感:当输入信号为高电平时,产生中断;边沿敏感:取决于边沿类型。
编程:IO核不属于HAL支持的通用设备模型,因此不同通过HAL API或ANSI C标准库
来
访问。altera提供了HAL系统库头文件——altera_avalon_pio_regs.h,其中
定义了PIO核的
寄存器映射,提供了一些符号来访问底层硬件。
【】定时器设备的使用
HAL API提供2种类型的定时器驱动程序:系统时钟驱动和时间戳驱动。相关的HAL
API
函数在sysalt_alarm.h和sysalt_timestamp.h中定义。
【】三种基本的DMA传输
在HAL
DMA设备模型中,DMA传输有两种分类:发送或接收。
HAL提供两个设备驱动来实现发送通道
和接收通道:发送通道从数据源的缓冲器获得数
据,发送数据到目的设备;接收通道接收数据,并将数据
存到目的缓冲器中。
(1)DMA发送通道(2)DMA接收通道(3)存储器到存储器的DMA
传输(存储器到
存储器的DMA传输同时包括DMA接收通道和DMA发送通道)
【】通过HAL API来使用DMA设备的步骤。
【】简单Flash访问与精细Flash访问的比较
简单FLASH访问:函数写缓冲
数据到FLASH和从FLASH读数据都是以分区(block)的
层次进行的,写FLASH时,若
缓冲器比一个完整的分区小,函数会擦除整个分区。
精细FLASH访问:函数写缓冲数据到FLA
SH和从FLASH读数据都是以缓冲区的层次进
行的,写FLASH时,若缓冲区比一个完整的分区小
,函数保留之前存在于FLASH中的新写
数据单元之上和之下的数据。
【】NIOS2
的异常处理
NIOS异常包括
(1)硬件中断:外设通过处理器32个中断输入通道请求产生硬件中断
(2)软件异常:未实现指令、软件陷阱、其他异常
软件陷阱异常:当程序遇到软件陷阱指令
时,将产生软件陷阱异常。软件陷阱在程序需
要操作系统服务时常用到,操作系统的异常处理程序判断产
生软件陷阱的原因,然后执行相
应任务。
未定义指令异常:当处理器执行未定义指令时产生未
定义指令异常。异常处理判断哪个
指令产生异常,如果指令不能通过硬件执行,可以在一个异常服务程序
中通过软件方式执行
其它异常:是为将来系统扩展准备的。
【】NIOS
Ⅱ的异常处理流程
Nios II结构中所有的异常类型都由同一个地址处的异常处理程序(系
统ISR)来处理,
然后跳转到用户ISR。
流程:把status寄存器内容复制到es
tatus寄存器中,保存当前处理器状态—>清除status
寄存器的U位为0,强制处理器进入超
级用户状态—>清除status寄存器的PIE位为0,禁止
所有的硬件中断—>把异
常返回地址写入ea寄存器(r29)—>跳转到异常处理地址,进入系统
ISR。
【】使用HAL API实现中断编程的步骤。
【】工程应用
1、在nios
II最小系统中添加一个输入 PIO
核(KEY_PIO),并使能边沿触发中断功能,要求
编写应用程序,通过按键控制LED状态切换。
见实验指导书实验3按键中断实验。要求能够看懂程序,给出关键语句的注释。
2、通过HAL提供的系统时钟服务实现定时1s,要求每隔1s切换LED状态1次。
见实验指导书实验4定时器实验。要求能够看懂程序,给出关键语句的注释。
3、建立一个基于Nios II处理器的系统来控制8个LED,让其依次向左(或向右)循环移位<
br>点亮。编写应用程序代码,延时功能可调用函数usleep( )实现。