下面不是SOPC系统开发的软件()
QuartusII
SOPC Builder
PSPTICE
NiosII IDE
正确答案: C
在NiosII处理器寄存器中,总是存放0,对其读写无效的寄存器是(),保存异常返回地址寄存器是()
正确答案:
第一空:
zero;R0
第二空:
ea;r29
NiosII处理器中状态寄存器的第0位是(),第一位是()
正确答案:
第一空:
PIE
第二空:
U
什么是SOC系统,什么是SOPC系统?
正确答案:
SOC(System On a Chip)即片上系统,即单芯片集成系统级、多元化的功能模块,能够处理各种信息的集成系统。其模块包括CPU。存储器、通用IO、UART接口和模数混合电路。
SOPC(System On a Programmable Chip),将处理器、存储器、io接口等系统需要的功能模块集成到一个FPGA器件上,从而构成一个可编程的片上系统
简述NiosII处理器的三种类型并比较各自的性能差别
正确答案:
Nios II 处理器系列包括三种内核
(1)Nios II/f (快速),性能最高,但占用的逻辑资源最多。
(2)Nios II/e (经济),占用的逻辑资源最少,但性能最低。
(3)Nios II/s (标准),平衡的性能和尺寸。NiosII/s内核比第一代的Nios CPU更快,占用的资源更少。
如何进行系统自动地址分配和自动中断号分配
正确答案:
地址自劢分配:SYSTEM->Auto-assign Basic Addresses
是中断癿自劢分配:SYSTEM-> Auto-assign IRQs
简述NiosII IDE开发流程
正确答案:
1、建立软件工程,File->New->Project,选择Nios II C/C++ Application
2、编辑,输入程序代码
3、系统库属性设置,在工程目彔区应用工程名后单击鼠标史键后,选择system library Properties
4、编译
5、运行调试
集成电路IP
正确答案:
是经过预先设计,预先验证、符合产业界的设计规范和设计标准,具有相当独立并可复用的电路模块或子系统。
Avalon端口支持的传输特性有哪些
正确答案:
(1)等待周期传输,包括固定或可变等待,其中固定等待只适应从端口;
(2)对从端口,有建立和保持时间传输;
(3)流水线传输,可分为固定或可变延迟流水线传输;
(4)突发传输,支持DMA传输
(5)三态传输,允许Avalon系统与片外标准总线接口设备直接相连
Avalon从端口信号类有哪些
正确答案:
(1)clk: Avalon从端口的同步时钟,所有的信号必须与clk同步,异步外设可以忽略clk信号。
(2) chipselect : Avalon从端口的片选信号。在chipselect信号无效的情况下,Avalon从端口忽略所有其它的信号。
(3)address: 连接Avalon交换架构和从端口的地址线,指定了从外设地址空间的一个字的地址偏移。
(4) read : 读从端口的请求信号。当从端口不输出数据时不需要使用该信号,如果使用了该信号,则readdata或data信号也必须使用。
(5) readdata : 读传输时,输出到Avalon交换架构的数据线。当从端口不输出数据时,不需要该信号。如果使用了该信号,则data信号不能使用。
(6) write :写从端口的请求信号。当从端口不从主端口接收数据,不需要该信号
(7) writedata :写传输时,来自Avalon交换架构的数据线。
(8) byteenable :字节使能信号。在对宽度大于8位的存储器进行写传输时,该信号用于选择特定的字节段
(9) writebyteenable :相当于byteenable信号和write信号的逻辑与操作
(10) begintransfer : 在每次传输的第一个周期内有效。使用用法取决于具体的外设。
简述具有可变等待周期的从端口读传输传输特性
正确答案:
(A)第一个周期在clk的上升沿开始。
(B) Avalon交换架构发出地址和read信号。
(C) Avalon交换架构对地址进行译码,然后驱动chipselect信号。
(D) 从端口在下一个clk的上升沿置waitrequest信号有效。
(E) Avalon交换架构在clk的上升沿采样waitrequest, waitrequest是有效的,所以在此时钟沿 readdata没被捕获。
(F) waitrequest可能会持续一个不确定数目的周期。
(G) 从端口提供有效的readdata。
(H) 从端口置waitrequest无效。
(I) Avalon交换架构在下一个clk的上升沿捕获readdata,读传输就此结束。下一个周期在此开始,另一次传输也可由此开始。
具有固定延迟的从端口流水线传输有哪些信号类型,分析下其传输特性
正确答案:
信号类型:clk、address、read、chipselect、waitrequest、readdata
传输特性:
(A) Avalon交换架构通过提供新传输的地址阶段的chipselect、read和address信号,发起一次读传输。
(B) 从端口已经置waitrequest有效,所以前一个周期称为等待周期。Avalon交换架构保持chipselect、read和 address不变。
(C) 从端口在clk的上升沿置waitrequest无效,并且捕获address。地址阶段结束,数据阶段开始。
(D) 第一个延迟周期在clk的上升沿结束。
(E) 第二个延迟周期在clk的上升沿结束。从端口提供有效的readdata,传输结束。这个clk的上升沿也标志着新的读传输的开始。
(F) Avalon交换架构发出新传输的address、read和chipselect信号。
(G) Avalon交换架构在下一个周期发内,在前一次的传输的数据返回之前发起另一次的读传输。
(H) Avalon交换架构在两个延迟周期之后捕获readdata。
(I) Avalon交换架构在两个延迟周期之后捕获readdata 。
指令主端口
正确答案:
Nios II指令总线作为32位Avalon主端口来实现。指令主端口只执行一个功能:对处理器将要执行的指令进行取指。
数据主端口
正确答案:
Nios II数据总线作为32位Avalon主端口来实现。数据主端口执行两个功能:
¨1.当处理器执行装载指令时,从存储器或外设中读数据。
¨2.当处理器执行存储指令时,将数据写入存储器或外设
存储器映射外设
正确答案:
指外设和存储器使用相同的总线来寻址, 并且CPU使用访问存储器的指令也用来访问I/O设备。为了能够 使用I/O设备,CPU的地址空间必须为I/O设备保留地址
主/从对
正确答案:
在进行数据传输时,由系统的互联结构连接的主端口和从端口
等待周期
正确答案:
等待周期延长读传输的时间,允许从端口使用一个或多个的时钟周期来捕获地址和/或返回有效的readdata,但是等待周期会影响从端口的吞吐量。
建立时间
正确答案:
在发出read信号之前,需要地址和chipselect信号先稳定一段的时间
保持时间
正确答案:
保持时间用于需要address、byteenable、writedata、和chipselect信号在write脉冲之后保持几个周期稳定的片外外设
PIO内核内部定义了哪些寄存器?
正确答案:
1、数据寄存器:读入输入引脚上的逻辑电平值,或者向PIO输出口写入新值
2、方向寄存器:控制每个I/O口的输入输出方向。0:输入;1:输出。
3、中断屏蔽寄存器 :使能或禁止每个输入端口的IRQ。1:中断使能;0:禁止中断。
4、边沿捕获寄存器 :当边沿事件发生时对应位置1。
UART内核有哪些寄存器?
正确答案:
1、接收寄存器
2、发送寄存器
3、状态寄存器
4、控制寄存器
5、波特率寄存器
6、数据包结束符
以串口为例,给出3种对字符设备访问的方式
正确答案:
1、把串口设备配置为标准输入stdin、标准输出stdout和标准错误stderr,然后使用C库的printf()函数
2、把字符设备串口看作一个文件,使用打开文件函数fopen(),写字符串函数fprintf(),文件关闭函数fclose()来访问
JTAG UART
正确答案:
JTAG UART是实现PC和Nios II系统间癿串行途信接口,它用亍字符癿输入输出
PIO核
正确答案:
并行输入/输出内核(PIO内核)提供Avalon从控制器端口和通用I/O口②间的存储器映射接口。
UART核
正确答案:
UART内核(通用异步接收器/发送器内核)执行RS-232协议时序,并提供可调整的波特率,内核提供一个简单的Avalon从控制器接口,该接口允许Avalon主控制器(例如NiosII处理器)通过读写寄存器与UART内核进行通讯。
NiosII IDE的Debug的目标器件有哪些
正确答案:
Nios II硬件
Nios II指令仿真器
Nios II多处理器集
Nios II IDE为软件开发提供4个主要功能:
正确答案:
(1)工程管理
(2)编辑器和编译器
(3)调试器
(4)闪存编程器
简述NiosII IDE应用程序开发的工程结构
正确答案:
基于HAL的NiosII程序有两个NiosII IDE工程组成:
1、用户应用工程(User Application Project),用户代码都包括在应用工程中,对这个工程编译得到最终的运行程序。
2、系统库工程(HAL System Library Project),当用户建立应用工程时,系统创建HAL系统库工程,HAL包含了所有与底层硬件与用户程序接口的相关信息
简述System.h系统说明文件的功能及包含硬件信息
正确答案:
System.h是HAL系统库的基础,System.h文件为NiosII硬件系统提供完整的软件说明,是硬件与软件的连接点
System.h文件对系统中的每一个外围设备进行了说明,并提供如下详细信息:
(1)外围设备的硬件配置
(2)基地址
(3)中断优先级
(4)外围设备符号名称
定时器可进行的基本操作有哪些?
正确答案:
1、Avalon主控制器通过对控制寄存器执行不同的写操作来控制:
(1)启动和停止定时器
(2)使能/禁能IRQ
(3)指定单次减1计数或连续减1计数模式
2、处理器读状态寄存器获取当前定时器的运行信息。
3、处理器可通过写数据到periodl和periodh寄存器来设定定时器周期。
4、内部计数器计数减到0,立即从周期寄存器开始重新装载。
5、处理器可以通过写snapl或snaph获取计数器的当前值。
6、当计数器计数到达0时:
(1)如果IRQ被使能,则产生一个IRQ
(2)(可选的)脉冲发生器输出有效持续一个时钟周期
(3)(可选的)看门狗输出复位系统
HAL API支持哪两种类型的定时器,分别写出它们的API函数
正确答案:
系统时钟驱动,支持报警
API函数:gettimeofday(),settimeofday(),times(),支持的标准Unix功能
alt_nticks(),alt_ticks_per_seconds(),alt_alarm_set(),alt_alarm_start()。定义在alt_alarm.h头文件中
2.时间信息驱动,支持高分辨率的时间测量
API函数:alt_timestamp_start(),alt_timestamp(),alt_timestamp_freq()
在alt_timestamp.h头文件中定义
异常硬件处理流程
正确答案:
把status寄存器内容复制到estatus寄存器中,保存当前处理器状态;
清除status寄存器的U位为0,强制处理器进入超级用户状态;
清除status寄存器的PIE位为0,禁止所有的硬件中断;
把异常返回地址写入ea寄存器(r29);
跳转到异常处理地址。
设计一个简单LED流水灯SOPC系统,需要哪些外设IP?
正确答案:
1、NiosII CPU,选用经济型
2、片内RAM(on-chip-RAM),容量40K,数据宽度32位
3、PIO核,8位输出
结合LED控制的应用程序,源程序定义了哪三个头文件,程序那条语句实现对PIO核写,其中函数括号里参数代表什么意义?
正确答案:
三个头文件
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
PIO写宏指令
IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, pio_led_data);
PIO_LED_BASE代表PIO外设在SOPC硬件系统中的基地址
pio_led_data表示写入的数据
使用HAL API执行中断服务程序需要哪些步骤?
正确答案:
对于特殊的外围器件需要自己编写中断服务函数
void isr(void * context, alt_u32 id)
调用中断服务函数注册到HAL中
int alt_irq_register(alt_u32 id, void *context, void (*isr)()void *, alt_u32)
简述决定中断服务程序性能的关键指标有哪些?
正确答案:
中断等待时间,从中断最开始产生到处理器在异常地址中运行第一条指令的时间
中断响应时间,从中断开始产生到处理其运行中断服务程序的第一条指令的时间
中断恢复时间,从执行中断服务程序最后一条指令开始到进入到常规程序运行的时间
简述HAL异常控制器处理外设中断服务程序过程?
正确答案:
当NiosII 处理器产生异常时,顶层的异常控制器接收控制,顶层异常控制器将控制权传递给硬件中断处理器,硬件中断处理器将控制交个一个或者多个中断服务程序