SOPC习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、名词解释什么是IC、ASIC、SOC、SOPC、EDA、嵌入式系统等IC:是半导体元件产品的统称,包括:集成电路、三极管、特殊电子元件。ASIC:专用IC。是指为特定的用户、某种专门或特别的用途而设计的芯片组。SOC:片上系统。随IC设计与工艺的提高,使原先由许多IC组成的电子系统可集成到一个芯片上,构成SOC。SOPC:可编程的片上系统。是Altera公司提出来的一种灵活、高效的SOC解决方案。也可认为是基于FPGA解决方案的SOC。EDA:电子设计自动化。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。二、简答题1,嵌入式系统的基本架构如何?2,构成SOPC的方案有几种途径?简述它们的实现方法并比较优劣。构成SOPC的方案有三种途径,1.基于FPGA嵌入IP硬核的SOPC系统;2.基于FPGA嵌入IP软核的SOPC系统;3.基于HardCopy技术的SOPC系统1)基于FPGA嵌入IP硬核的应用。这种SOPC系统是指在FPGA中预先植入处理器。这使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC系统。2)基于FPGA嵌入IP软核的应用。这种SOPC系统是指在FPGA中植入软核处理器,如:NIOSII核等。用户可以根据设计的要求,利用相应的EDA工具,对NIOSII及其外围设备进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。3)基于HardCopy技术的应用。这种SOPC系统是指将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化。把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子产品,避开了直接设计ASIC的困难。3,简述NiosII处理器系列包括哪几种内核?并说明具体特点。NiosII处理器系列包括三种内核分别是NiosII/f(快速)、NiosII/e(经济)、NiosII/s(标准)。NiosII/f(快速):性能最高,但占用的逻辑资源最多。NiosII/e(经济):占用的逻辑资源最少,但性能最低。NiosII/s(标准):平衡的性能和尺寸。NiosII/s内核比第一代的NiosCPU更快,占用的资源更少。4,简述可配置嵌入式软核处理器的优势。优势:1.提供合理的性能组合;2.提升系统的性能;3.降低系统成本;4.延长产品的生命周期。5,基于NiosII软核处理器的SOPC开发需要用到哪些开发工具软件?答:需要用到QuartusII、SOPCBuilder以及NiosIIIDE6,SOPC开发分为哪两个部分,简述其开发流程,并画出SOPC开发流程框图。答:SOPC开发分为两个部分:基于QuartusII、SOPCBuilder的硬件设计、基于NiosIIIDE的软件设计。NiosIICPU的基本开发流程为:(1)在QuartusII中新建一个工程(硬件)。(2)在SOPCBuilder中根据自己的需要加入各种IP核。(3)利用SOPCBuilder产生QuartusII能够识别的文件。(4)在(1)中新建的工程中加入(3)中生成的文件。(5)加入输入、输出以及双向端口,并根据需要对其命名。(6)对(5)中命名的输入、输出核双向端口根据选定的FPGA进行引脚分配。(7)编译工程。(8)下载编辑代码到FPGA。(9)利用NiosIIIDE新建另一个工程(软件)。(10)根据(2)中的资源,编写项目需要的代码。(11)编译、下载并调试,查看运行结果,直到正确。(12)如果需要,将(11)中生成的代码下载到代码Flash中。7,以控制LED闪烁的简单NiosII处理器系统为例,详细说明SOPC的开发过程。1.分析系统需求。2.启动QuartusII软件和新建实例设计工程。3.启动新的SOPCBuilder系统。4.在SOPCBuilder中定义并生成系统。5.集成SOPCBuilder系统到QuartusII工程。6.选择芯片型号并进行管脚分配。7.设置编译选项并编译硬件系统。8.下载硬件设计到目标FPGA。9.使用NiosIIIDE开发用户程序。10.调试用户程序。11.运行程序。8,简述NIOSII体系架构。9,简述NIOSII处理器结构。10,NiosII处理器支持哪两个复位信号?并详细说明之。NiosII处理器支持两个复位信号:reset和cpu_resetrequest。reset:是一个强制处理器核立即进入复位状态的全局硬件复位信号。cpu_resetrequest:是一个可以让CPU复位但不影响NiosII系统其它外设的局部复位信号。11,简述NiosII处理器的异常与中断。12,简述Avalon交换结构总线特点,并比较它与传统CPU总线的区别。特点:1.所有外设的接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。这样就简化了Avalon总线的时序行为,而且便于集成高速外设。Avalon总线以及整个系统的性能可以采用标准的同步时序分析技术来评估。2.所有的信号都是高电平或低电平有效,便于信号在总线中高速传输。在Avalon总线中,由数据选择器(而不是三态缓冲器)决定哪个信号驱动哪个外设。因此外设即使在未被选中时也不需要将输出置为高阻态。3.为了方便外设的设计,地址、数据和控制信号使用分离的、专用的端口。外设不需要识别地址总线周期和数据总线周期,也不需要在未被选中时使输出无效。分离的地址、数据和控制通道还简化了与片上用户自定义逻辑的连接。区别:Avalon交换结构总线使用从属设备仲裁技术,使并行多控制器操作最大限度地提高系统性能。如果多个控制器同时存取从属设备,则由从属设备仲裁决定哪一个控制器得到从属设备的存取权。在传统的总线中,单个仲裁器控制一个或多个总线控制器跟总线从属设备进行通信,由于每次只能有一个控制器可以存取系统总线而形成带宽瓶颈。13,典型的SOPCBuilder外设IP在功能上可分成哪几部分?典型的SOPCBuilder外设IP在功能上可分成以下几部分:1.外设行为逻辑:实现了外设所要完成的功能;2.寄存器:提供了访问行为逻辑的存储器映射;3.Avalon总线接口:是访问寄存器的物理接口;4.软件驱动子程序:提供了应用程序访问外设的接口。14,简述PIO外设IP使用方法,详细叙述PIO内核相关寄存器软件编程方法,如何初始化PIO内核,并书写PIO中断服务程序。答:使用方法:控制LED、获取开关量、控制显示设备、配置非片上设备或与其进行通信编程方法:读写数据寄存器IORD_ALTERA_AVALON_PIO_DATA(base)IOWR_ALTERA_AVALON_PIO_DATA(base,data)读写方向寄存器IORD_ALTERA_AVALON_PIO_DIRECTION(base)IOWR_ALTERA_AVALON_PIO_DIRECTION(base,data)读写中断屏蔽寄存器IORD_ALTERA_AVALON_PIO_IRQ_MASK(base)IOWR_ALTERA_AVALON_PIO_IRQ_MASK(base,data)读写边沿捕捉寄存器IORD_ALTERA_AVALON_PIO_EDGE_CAP(base)IOWR_ALTERA_AVALON_PIO_EDGE_CAP(base,data)中断初始化staticvoidButton_ISR_Init(void){void*pEdge_Capture=(void*)&Edge_Capture;//允许4个按键中断IOWR_ALTERA_AVALON_PIO_IRQ_MASK(S1_S4_BASE,0xf);//清除中断标志寄存器IOWR_ALTERA_AVALON_PIO_EDGE_CAP(S1_S4_BASE,0x0);//注册中断alt_irq_register(S1_S4_IRQ,pEdge_Capture,Button_Irq_Handler);}中断服务程序staticvoidButton_Irq_Handler(void*context,alt_u32id){volatileint*edge_capture_ptr=(volatileint*)context;//保存中断标志寄存器*edge_capture_ptr=IORD_ALTERA_AVALON_PIO_EDGE_CAP(S1_S4_BASE);//中断服务处理//把对应的LED点亮IOWR_ALTERA_AVALON_PIO_DATA(D5_D8_BASE,*edge_capture_ptr);…….IOWR_ALTERA_AVALON_PIO_EDGE_CAP(S1_S4_BASE,0);//清除中断标志寄存器}15,综述定时器内核,详细叙述定时器内核相关寄存器软件编程方法,如何初始化定时器内核,并书写定时器中断服务程序。SOPCBuilder中的Timer核是一个32位、基于Avalon接口的软核,它有以下特性:启动、停止核复位都可由软件控制两种计数模式:单次向下计数模式和连续向下计数模式向下计数周期寄存器可屏蔽中断(当计数器递减到0的时候)可工作在看门狗模式可提供一个端口输出,使其产生周期性的脉冲兼容32位和16位处理器读写状态寄存器IORD_ALTERA_AVALON_TIMER_STATUS(base)IOWR_ALTERA_AVALON_TIMER_STATUS(base,data)读写控制寄存器IORD_ALTERA_AVALON_TIMER_CONTROL(base)IOWR_ALTERA_AVALON_TIMER_CONTROL(base,data)读写周期寄存器IORD_ALTERA_AVALON_TIMER_PERIODL(base)IOWR_ALTERA_AVALON_TIMER_PERIODL(base,data)IORD_ALTERA_AVALON_TIMER_PERIODLH(base)IOWR_ALTERA_AVALON_TIMER_PERIODH(base,data)读写计数器快照寄存器IORD_ALTERA_AVALON_PIO_TIMER_SNAPL(base)IOWR_ALTERA_AVALON_PIO_TIMER_SNAPL(base,data)IORD_ALTERA_AVALON_PIO_TIMER_SNAPH(base)IOWR_ALTERA_AVALON_PIO_TIMER_SNAPH(base,data)定时器中断初始化staticvoidTimer_ISR_Init(void)//初始化中断{//清除Timer1中断标志寄存器IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER1_BASE,0);//注册Timer1中断alt_irq_register(TIMER1_IRQ,NULL,Timer1_Irq_Handler);//允许Timer1中断IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER1_BASE,0x01);//-----------------------}定时器中断服务程序staticvoidTimer1_Irq_Handler(void*context,alt_u32id){//驱动LED1闪烁LED1=(LED1+1)%4;IOWR_ALTERA_AVALON_PIO_DATA(LED1_BASE,LED1);//清除Timer1中断标志寄存器IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER1_BASE,0);}16,综述UART内核,详细叙述UART内核相关寄存器软件编程方法,如何初始化UART内核,并书写UART

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功