资源预览内容
第1页 / 共242页
第2页 / 共242页
第3页 / 共242页
第4页 / 共242页
第5页 / 共242页
第6页 / 共242页
第7页 / 共242页
第8页 / 共242页
第9页 / 共242页
第10页 / 共242页
亲,该文档总共242页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第5章 Nios嵌入式处理器设计,5.1 Nios嵌入式处理器简介 5.2 Nios嵌入式处理器软、硬件开发流程简介 5.3 Nios嵌入式处理器系统的开发 5.4 Nios处理器外围接口 5.5 HAL系统库 5.6 应用示例电子钟 思考题,5.1 Nios嵌入式处理器简介,5.1.1 第一代Nios嵌入式处理器 20世纪90年代末,可编程逻辑器件(PLD)的复杂度已经能够在单个可编程器件内实现整个系统,即在一个芯片中实现用户定义的系统,它通常包括片内存储器和外设的微处理器。2000年,Altera发布了Nios处理器,这是Altera Excalibur嵌入式处理器计划中的第一个产品,是第一款用于可编程逻辑器件的可配置的软核处理器。,Altera公司的Nios是基于RISC技术的通用嵌入式处理器芯片软内核,它特别为可编程逻辑进行了优化设计,也为可编程单芯片系统(SOPC)设计了一套综合解决方案。第一代Nios嵌入式处理器性能高达50 MIPs,采用16位指令集,16/32位数据通道,5级流水线技术,可在一个时钟周期内完成一条指令的处理。它可以与各种各样的外设、定制指令和硬件加速单元相结合,构成一个定制的SOPC。Nios处理器还具有一种基于JTAG的OCI(片上仪器)芯核,使软件开发人员在实时调试方面具有更明显的优势。该处理器的软件支持可扩展到对APR、IP、ICMP、TCP、UDP和以太网的网络协议支持。,(2) 极大的灵活性和可扩展性。用户可在FPGA容量允许范围内自由配置处理器的Cache大小、指令集ROM大小、片内RAM和ROM大小、I/O引脚数目和类型、中断引脚数目、定时器数目、通用串口数目、扩展地址和数据引脚等处理器的性能指标。此外,用户还可以在处理器ALU中直接加入自定义的数字逻辑,并添加自定义的处理器指令。 (3) 功能强大的开发工具。使用SOPC Builder开发工具,开发者可以快速开发出满足设计需要的处理器。该开发工具支持C、C+语言,并提供了常用的功能类库。开发者可以直接使用C、C+语言进行系统软件开发,然后在线调试自行设计的Nios处理器和软件。当软件达到设计要求时,可通过该工具将执行代码转换成Flash文件格式或HEX文件下载到Flash或FPGA器件中,使所设计的系统独立运行。,第一代的Nios已经体现出了嵌入式软核的强大优势,但是还不够完善。它没有提供软件开发的集成环境,用户需要在Nios SDK Shell中以命令行的形式执行软件的编译、运行、调试,程序的编辑、编译、调试都是分离的,而且还不支持对项目的编译。这对用户来说不够方便,还需要功能更为强大的软核处理器和开发环境。,5.1.2 第二代Nios嵌入式处理器 2004年6月,Altera公司在继全球范围内推出Cyclone和Stratix器件系列后又推出了支持这些新款FPGA系列的Nios嵌入式处理器。Nios嵌入式处理器和Cyclone FPGA组合,在器件中只占用0.35美元的逻辑资源。Nios嵌入式处理器在Cyclone FPGA中也具有超过100 DMIP的性能,允许设计者在很短的时间内构建一个完整的可编程芯片系统,风险和成本比中小规模的ASIC小。它与2000年上市的原产品Nios相比,最大处理性能提高3倍,CPU内核部分的面积最大可缩小1/2。,Nios系列嵌入式处理器使用32位的指令集结构(ISA),完全与二进制代码兼容,它是建立在第一代16位Nios处理器的基础上的,定位于广泛的嵌入式应用。Nios处理器系列包括了三种内核快速的(Nios/f)、经济的(Nios/e)和标准的(Nios/s)内核,每种都针对不同的性能范围和成本。使用Altera的Quartus软件、SOPC Builder工具以及Nios集成开发环境(IDE),用户可以轻松地将Nios处理器嵌入到他们的系统中。 表5.1、表5.2和表5.3分别列出了Nios处理器的特性、Nios系列成员、Nios嵌入式处理器支持的FPGA。,表5.1 Nios嵌入式处理器的特性,表5.2 Nios系列处理器成员,表5.3 Nios嵌入式处理器支持的FPGA,5.1.3 可配置的软核嵌入式处理器的优势 1合理的性能组合 使用Altera Nios处理器和FPGA,用户可以实现在处理器、外设、存储器和I/O接口方面的合理组合。 (1) 三种处理器内核。Nios开发人员可以选择一个或任意以下三种内核的组合:快速的内核(Nios/f)具备高性能,经济的内核(Nios/e)具备低成本,标准的内核(Nios/s)用于性能和尺寸的平衡。,(2) 超过60种SOPC Builder配备的内核。用户可以创建一组适合于自己应用的外设、存储器和I/O接口。现成的嵌入式处理器可以快速嵌入Altera的FPGA中。 (3) 无限的DMA通道组合。直接存储器存取(DMA)可以连接到任何外设从而提高系统的性能。 (4) 可配置的硬件及软件调试特性。软件开发人员具有多个调试选择,包括基本的JTAG的运行控制(运行、停止、单步、存储器等)、硬件断点、数据触发、片内和片外跟踪、嵌入式逻辑分析仪。这些调试工具可以在开发阶段使用,一旦调试通过后就可以去掉。,2提升系统的性能 设计人员通常都会选择一个比实际所需的性能要高的处理器(意味着更高的成本),从而为设计保留一个安全的性能上的余量。Nios系统的性能是可以根据应用来裁减的,与固定的处理器相比,在较低的时钟速率下具备更高的性能。Nios的以下特性可以提升系统的性能。 (1) 多CPU内核。开发者可以选择最快的Nios内核(Nios/f)以获得高性能,还可以通过添加多个处理器来获得所需的系统性能。,(2) FPGA系列支持。Nios处理器可以工作在所有近来Altera推出的FPGA系列上。尤其是在Stratix器件上,Nios/f内核超过200 DMIPS的性能仅占用1800个逻辑单元。在更大的器件上,诸如Stratix EP2S180器件,一个Nios的内核只占用了1%的可用逻辑资源,这些微量的资源仅在Quratus设计软件资源使用的波动范围之内,可以说用户几乎是免费得到了一个200 DMIPS性能的处理器。 (3) 多处理器系统。许多开发人员使用Nios来扩充外部的处理器,为保持系统的性能并分担处理任务。另外,设计者也可以在一片FPGA内部实现多个处理器内核。通过将多个Nios/f内核集成到单个器件内以获得较高的性能,而不用重新设计印刷电路板(PCB)。Nios的IDE也可以支持这种多处理器在单一FPGA上的开发,或多个FPGA共享一条JTAG链。,(4) 定制指令。用户定制指令是一个扩展处理器指令的方法,最多可以定制256个用户指令(见图5.1)。定制指令处理器还是处理复杂的算术运算和加速逻辑的最佳途径。例如,将一个在64 K字的缓冲区实现的循环冗余码校验(CRC)的逻辑块作为一个定制的指令,要比用软件实现快27倍。,图5.1 Nios的定制指令,(5) 硬件加速。通过将专用的硬件加速器(见图5.2)添加到FPGA中作为CPU的协处理器,CPU就可以并发地处理大块的数据。例如上面提到的CRC例子,通过专用的硬件加速器处理一个64 K字的缓冲区,比用软件快530倍。SOPC Builder设计工具中包含一个引入向导,用户可以用这个向导将加速逻辑和DMA通道添加到系统中。,3降低系统成本 嵌入式系统设计人员总是坚持不懈地寻找降低系统成本的方法。然而,选择一款处理器,在性能和特性上总是与成本存在着冲突,最终结果总是以增加系统成本为代价的。利用Nios处理器可以通过以下途径来降低成本: (1) 更大规模的系统集成。将一个或更多的Nios处理器组合,选择合适的外设、存储器、I/O接口,利用这种方法可以减少电路板的成本、复杂程度以及功耗。,(2) 优化FPGA/CPU的选择。经济型的内核(Nios/e)只占用不到35美分的Cyclone器件资源,保留了更多的逻辑资源给其他片外的器件;并仅仅占用600个逻辑单元,这样就可将软核处理器应用于低成本的、需要低处理性能的系统中。小的CPU还使得在单个的FPGA芯片上嵌入多个处理器成为可能。 (3) 更好的库存管理。嵌入式系统通常包含了来自多个生产商的多种处理器,以应付多变的系统任务。当某种处理器短缺时,管理这些处理器的库存也是个问题。但是使用标准化的Nios软核处理器,库存的管理将会大大简化,因为通过将处理器实现在标准的FPGA器件上减少了对处理器种类的需求。,4应付产品的生命周期 开发人员希望快速将他们的产品推向市场,并保持一个较长的产品生命周期。基于Nios的系统在以下几个方面可以帮助用户实现此目标: (1) 加快产品的上市时间。FPGA可编程的特性使其具有更快的产品上市时间。许多的设计向导通过简单的修改都可以被快速地实现到FPGA设计上。Nios系统的灵活性源于Altera所提供的完整的开发套件、众多的参考设计、强大的硬件开发工具(SOPC Builder)和软件开发工具(Nios IDE)。由于将Nios处理器放置于FPGA内部就可以验证外部的存储器和I/O组件,因而电路板设计速度得以显著增加。,(2) 建立有竞争性的优势。维持一个基于通用硬件平台的产品的竞争优势是非常困难的。而带有一个或多个Nios处理器的SOPC系统则具备了硬件加速、定制指令、定制且可裁减的外设等配置,从而在竞争中占有一定的优势。 (3) 延长了产品的生存时间。使用Nios处理器的SOPC产品的一个独特优势就是能够对硬件进行升级,即使产品已经交付给客户,软件也可以定期升级。这些特性可以解决以下问题: 延长产品的生存时间,随着时间的增加,可以不断有新的特性添加到硬件中。 减少由于标准的制定和改变而带来的硬件上的风险。, 简化了对硬件设计的修复和对错误的排除。 避免处理器的过时。嵌入式处理器供应商通常提供一个很宽的配置选择范围以适应不同的客户群。不可避免的是,某个或多个处理器有可能会因为生产计划等原因而停止供应或很难寻找。设计人员可以拥有在Altera FPGA上使用和配置基于Nios设计的永久授权。一个基于Nios的设计可以很容易地移植到新系列的FPGA器件中,从而保护了对应用软件的投资。 (4) 在产品产量增加的情况下减少成本。一旦一个FPGA的设计被选定,并且打算大批量生产,就可以选择将它移植到Altera的HardCopy(一种结构化的ASIC系列)中,从而减少成本并提升性能。,Altera还可以提供Nios处理器的ASIC制造许可,可以将包含Nios处理器、外设、Avalon交换式总线的设计移植到基于单元的ASIC中。,5.2 Nios嵌入式处理器软、硬件开发流程简介,Nios和Nios的开发流程是一样的,只是在软件开发上Nios使用Nios SDK Shell对程序进行编译、下载;而Nios使用Nios IDE集成开发环境来完成整个软件工程的编辑、编译、调试和下载,大大提高了软件开发效率。图5.3所示为创建一个完整的Nios系统的全部开发流程,图中包括创建一个工作系统的软、硬件的各项设计任务。,图5.3 Nios系统软、硬件开发流程,在流程图中指示出了硬件和软件设计流程的交汇点,了解软件和硬件之间的相互关系对于完成一个完整的工作系统是非常重要的。 开发流程图从“初期工作”开始(图5.3中的步骤),这些工作需要软、硬件工作人员的共同参与,它包括了对系统需求的分析,例如: 对所设计的系统运行性能有什么要求? 系统要处理的带宽有多大?,基于对这些问题的回答,用户可以确定具体的系统需求,例如: CPU是否需要一个硬件加速乘法器? 设计中所需要的外围器件及其数量。 是否需要DMA通道来释放CPU在进行数据拷贝时所占用的资源?,5.2.1 硬件开发流程 系统设计所需的具体硬件设计工作如下: (1) 用SOPC Builder系统综合软件来选取合适的CPU、存储器以及外围器件(如片内存储器、PIO、UART和片外存储器接口
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号