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