EDA(电子设计自动化)教程4194.pptx
《EDA(电子设计自动化)教程4194.pptx》由会员分享,可在线阅读,更多相关《EDA(电子设计自动化)教程4194.pptx(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机计算机EDAEDA设计设计教教 程程北航计算机学院北航计算机学院北航计算机学院北航计算机学院 艾明晶艾明晶艾明晶艾明晶1共共共共2 2 2 2学时学时学时学时第第7 7章章 Nios Nios 嵌入式处理器设计嵌入式处理器设计7.1 Nios 嵌入式处理器简介嵌入式处理器简介7.2 Nios 嵌入式处理器软、硬件开发流程嵌入式处理器软、硬件开发流程7.3 Nios 嵌入式处理器系统的开发嵌入式处理器系统的开发7.4 Nios 嵌入式处理器外围接口嵌入式处理器外围接口7.5 HAL系统库系统库7.6 设计实例设计实例电子钟电子钟27.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介一
2、、第一代一、第一代NiosNios嵌入式处理器嵌入式处理器二、第二代二、第二代NiosNios嵌入式处理器嵌入式处理器三、可配置的软核嵌入式处理器的优势三、可配置的软核嵌入式处理器的优势内容概要内容概要37.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介一、第一代一、第一代NiosNios嵌入式处理器嵌入式处理器2000年,年,Altera发布了发布了Nios处理器,这是第一款可处理器,这是第一款可用于可编程逻辑器件的可配置的软核处理器。用于可编程逻辑器件的可配置的软核处理器。基于基于RISC技术技术16位指令集位指令集16/32位数据通道位数据通道5级流水线级流水线在一个时钟周期内完
3、成一条指令的处理在一个时钟周期内完成一条指令的处理具有一种基于具有一种基于JTAG的的OCI(片上仪器)芯核(片上仪器)芯核47.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介2003年,年,Altera发布了发布了Nios3.0处理器,它有处理器,它有16位和位和32位两个版本,能在低成本的位两个版本,能在低成本的Cyclone和高性能的和高性能的Stratrix芯片上实现。芯片上实现。主要特性:主要特性:更多的可配置寄存器更多的可配置寄存器极大的灵活性和可扩展性极大的灵活性和可扩展性功能强大的开发工具(功能强大的开发工具(SOPC Builder)第一代第一代NiosNios处理器
4、的处理器的缺点缺点没有提供软件开发的集成环境,用户需要在没有提供软件开发的集成环境,用户需要在Nios SDK ShellNios SDK Shell中以命令行的形式执行软件的编译、运行、调试。程序的编中以命令行的形式执行软件的编译、运行、调试。程序的编辑、编译、运行都是分离的。辑、编译、运行都是分离的。不支持对项目的编译。不支持对项目的编译。57.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介二、第二代二、第二代NiosNios嵌入式处理器嵌入式处理器2004年月年月,Altera继在全球推出继在全球推出Cyclone和和Stratrix器件系列后,又推出支持这些新款芯片器件系列后,
5、又推出支持这些新款芯片的的Nios嵌入式处理器。嵌入式处理器。与第一代与第一代NiosNios相比,相比,最大处理性能提高了最大处理性能提高了3 3倍,倍,CPUCPU内核部分的面积最大可缩小内核部分的面积最大可缩小1/21/2(3232位位Nios Nios 处理处理器占用器占用15001500个个LELE,Nios II Nios II 最少只占用最少只占用600600个个LELE)。)。广泛应用于嵌入式系统的设计中。广泛应用于嵌入式系统的设计中。67.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介种类种类特性特性CPU结构结构32Bit指令集指令集32Bit数据宽度线数据宽度线3
6、2个通用寄存器个通用寄存器2G Byte寻址空间寻址空间片内调试片内调试基于边界扫描测试基于边界扫描测试(JTAG)的调试逻辑,支持的调试逻辑,支持硬件断点、数据触发以及片外和片内的调试硬件断点、数据触发以及片外和片内的调试跟踪跟踪定制指令定制指令最多达到最多达到256个用户定义的个用户定义的CPU指令指令软件开发工具软件开发工具NiosIDE(集成开发环境)(集成开发环境)基于基于GNU的编译器的编译器硬件辅助的调试模块硬件辅助的调试模块表表7-1Nios 系列处理器的特性系列处理器的特性77.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Nios II提供提供3种种不同的内核,以满
7、足系统对不同性能和成本的需求。不同的内核,以满足系统对不同性能和成本的需求。最高性能的优化最高性能的优化平衡性能和尺寸平衡性能和尺寸最小逻辑占用的优化最小逻辑占用的优化表表7-2Nios 系列处理器的成员系列处理器的成员87.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Nios vs Nios Nios Nios Pipelined RISC Architecture32-Bit InstructionsFlat Register File32-Bit Data Path32 Prioritized InterruptsOptional Instruction&Data CacheC
8、ustom Instructions Branch Prediction Nios NiosPipelined RISC Architecture16-Bit InstructionsWindowed Register File16-Bit or 32-Bit Data Path64 Prioritized InterruptsOptional Instruction&Data CacheCustom Instructions 97.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Nios :Faster&Smaller(Nios /f)107.1 7.1 Nios 嵌入式处理器简介嵌入
9、式处理器简介Nios:Faster&Smaller(Nios /s)117.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Nios:Faster&Smaller(Nios /e)127.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介High-Performance Interconnect 采用内部采用内部Avlon总线,连接总线,连接主从构件,并主从构件,并进进行主从构件行主从构件间间的通信。的通信。主外设主外设从外设从外设137.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Some Important Peripherals for Nios IISystem I
10、D PeripheralUsed to Ensure Hardware/Software Version SynchronizationSimple 2 read-only register peripheral containing hardware ID tags.Register 1 contains random numberRegister 2 contains time and date when system was generated in SOPC BuilderCan be checked at runtime to ensure that the software to
11、be downloaded matches the hardware imageMemory InterfacesEPCS Serial Flash ControllerOn-ChipRAM,ROMOff-ChipSRAMCFI Flash147.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Other Important Peripherals for Nios IILCD DisplayJTAG UART Single JTAG Connection For:Device ConfigurationCode DownloadDebugTarget STDIO(printing)Fl
12、ash ProgrammingCompact Flash Interface Mass Storage SupportTrue IDE ModeCompact Flash ModeSoftware SupportsLow-Level APIMicroC/OS-File System SupportCLinux File System157.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介New Peripherals for Nios II 5.0SSRAM ControllerCypress CY7C1380C Sync SRAM controllerProvided to suppo
13、rt SSRAM component on Cyclone II dev kit boardNot a fully configurable general purpose controllerSupport for DDR/DDR2 in SOPC Builder GUIWith burst adapterSequential master to interleaved slave enhancementSeparate READ/Write duplex slavesAutomatically matches address of read/write slavesArbitration
14、logic connects read/write masters to both slavesSupport for PCI and Bursting DMA in SOPC Builder GUIHigher bandwidth transfers through PCI167.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Example of a Nios Processor System处理器内核处理器内核内部总线内部总线定时器定时器外设接口外设接口177.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介Nios II:Hard Numbers187.1 7.1 Nios
15、 嵌入式处理器简介嵌入式处理器简介三、可配置的软核嵌入式处理器的优势三、可配置的软核嵌入式处理器的优势1.1.合理的性能组合合理的性能组合使用使用Nios嵌入式处理器和嵌入式处理器和FPGA,用户可以实现,用户可以实现在处理器、外设、存储器和在处理器、外设、存储器和I/O接口方面的合理组接口方面的合理组合。合。3种处理器内核种处理器内核6060余种余种SOPC BuilderSOPC Builder配备的配备的IP核核 无限的无限的DMADMA通道组合通道组合可配置的硬件及软件调试特性可配置的硬件及软件调试特性197.1 7.1 Nios 嵌入式处理器简介嵌入式处理器简介2.2.提升系统的性能
16、提升系统的性能NiosNios系统的性能可根据应用来裁减,与固定系统的性能可根据应用来裁减,与固定的处理器相比,在较低的时钟速率下具备更高的处理器相比,在较低的时钟速率下具备更高的性能。的性能。多多CPU内核内核:可选择最快的内核,或在一片FPGA内采用多个内核支持的支持的FPGA系列系列:Stratix,Stratix,Stratix GX,Cyclone,Cyclone,HardCopy Stratix定制指令定制指令:把用户自定义的功能直接添加到Nios处理器的ALU中,加快专项任务的执行,以提高系统的性能硬件加速硬件加速:专用的硬件加速器添加到FPGA中作为CPU的协处理器207.1
17、7.1 Nios 嵌入式处理器简介嵌入式处理器简介3.3.降低系统成本降低系统成本 主要途径主要途径:更大规模的系统集成更大规模的系统集成优化优化FPGA/CPU的选择的选择:选择经济型内核应用于低成本、低性能系统,或者在单个FPGA上使用多个内核更好的库存管理更好的库存管理4.4.延长产品的生命周期延长产品的生命周期加快产品上市时间:加快产品上市时间:FPGA可编程、可随时验证修改 建立有竞争性的优势建立有竞争性的优势:硬件加速、定制指令、定制外设延长了产品的生存时间延长了产品的生存时间:可对硬件和软件及时进行升级在产品产量增加的情况下减少成本在产品产量增加的情况下减少成本:可将FPGA设计
18、无缝移植到Altera的HardCopy器件(一种结构化的ASIC)中217.2 7.2 Nios 嵌入式处理器软、硬件开发流程嵌入式处理器软、硬件开发流程一、硬件开发流程一、硬件开发流程二、软件开发流程二、软件开发流程内容概要内容概要227.2 7.2 Nios 嵌入式处理器软、硬件开发流程嵌入式处理器软、硬件开发流程Nios Nios Design Flow Design FlowSOPC Builder GUIConnect BlocksProcessor LibraryCustom InstructionsPeripheral LibrarySelect&Configure Perip
19、herals,IPIP ModulesConfigure ProcessorGeneratenEDIF NetlistnHDL Source FilesnTestbenchSynthesis&Fitter nUser DesignnOther IP BlocksHardware DevelopmentQuartus IIOn-ChipDebugSoftware TraceHard BreakpointsSignalTap IIAlteraPLD JTAG,Serial,orEthernetExecutableCodeHardwareConfigurationFileVerification&D
20、ebug(1 1)(2 2)(3 3)(4 4)nC Header filesnCustom LibrarynPeripheral DriversCompiler,Linker,DebuggerSoftware DevelopmentnUser CodenLibrariesnRTOSGNU ToolsNios II IDE237.2 7.2 Nios 嵌入式处理器软、硬件开发流程嵌入式处理器软、硬件开发流程一、硬件开发流程一、硬件开发流程下载完硬件配置文件后,软件开发者就可以把此开发板作下载完硬件配置文件后,软件开发者就可以把此开发板作为软件开发的初期硬件平台进行软件功能的开发验证了。为软件开
21、发的初期硬件平台进行软件功能的开发验证了。(1 1)定义定义Nios嵌入式处理器系统:嵌入式处理器系统:使用使用SOPC Builder系统综合软系统综合软件选取合适的件选取合适的CPU、存储器以及外围器件,并定制其功能。、存储器以及外围器件,并定制其功能。(2)指定目标器件、分配引脚、编译硬件指定目标器件、分配引脚、编译硬件:使用:使用Quartus选取选取Altera器件系列,并对器件系列,并对SOPC Builder生成的生成的HDL设计文件进行布设计文件进行布局布线;再选取目标器件,分配管脚,进行硬件编译选项或时序局布线;再选取目标器件,分配管脚,进行硬件编译选项或时序约束的设置。编译
22、,生成网表文件和配置文件。约束的设置。编译,生成网表文件和配置文件。(3)硬件下载:硬件下载:使用使用Quartus软件和下载电缆,将配置文件下载到软件和下载电缆,将配置文件下载到开发板上的开发板上的FPGA中。当校验完当前硬件设计后,还可再次将新中。当校验完当前硬件设计后,还可再次将新的配置文件下载到开发板上的非易失存储器里。的配置文件下载到开发板上的非易失存储器里。247.2 7.2 Nios 嵌入式处理器软、硬件开发流程嵌入式处理器软、硬件开发流程二、软件开发流程二、软件开发流程(1 1)在使用)在使用SOPC BuilderSOPC Builder进行硬件设计的同时,就可以开始编写独立
23、进行硬件设计的同时,就可以开始编写独立于器件的于器件的C/C+C/C+软件,比如算法或控制程序。用户可以使用现成软件,比如算法或控制程序。用户可以使用现成的软件库和开放的操作系统内核来加快开发过程。的软件库和开放的操作系统内核来加快开发过程。(2 2)在)在NiosIDENiosIDE中建立新的软件工程时,中建立新的软件工程时,IDEIDE会根据会根据SOPC BuilderSOPC Builder对系统的硬件配置自动生成一个定制对系统的硬件配置自动生成一个定制HAL(HAL(硬件抽象层硬件抽象层)系统库。系统库。这个库能为程序和底层硬件的通信提供接口驱动程序。这个库能为程序和底层硬件的通信提
24、供接口驱动程序。(3 3)使用)使用NiosIDENiosIDE对软件工程进行编译、调试。对软件工程进行编译、调试。(4 4)将硬件设计下载到开发板后,就可以将软件下载到开发板上并)将硬件设计下载到开发板后,就可以将软件下载到开发板上并在硬件上运行。在硬件上运行。257.3 7.3 Nios 嵌入式处理器系统的开发嵌入式处理器系统的开发一、一、Nios Nios 集成开发环境(集成开发环境(IDEIDE)介绍)介绍二、二、Nios Nios 嵌入式处理器系统设计过程嵌入式处理器系统设计过程内容概要内容概要267.3 7.3 Nios 嵌入式处理器系统的开发嵌入式处理器系统的开发Nios IDE
25、是是Nios系列嵌入式处理器的基本软件开发系列嵌入式处理器的基本软件开发工具,包括程序的编辑、编译、调试和下载运行。工具,包括程序的编辑、编译、调试和下载运行。Nios IDE使用方法和使用方法和Visual C+类似。在类似。在7.6节中会节中会结合示例进行讲解。结合示例进行讲解。Nios IDE为软件开发提供了为软件开发提供了4个功能:个功能:工程管理器;工程管理器;编辑器和编译器;编辑器和编译器;调试器;调试器;闪存编程器。闪存编程器。一、一、NiosNios集成开发环境(集成开发环境(IDEIDE)介绍)介绍277.3 7.3 Nios 嵌入式处理器系统的开发嵌入式处理器系统的开发(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 电子设计 自动化 教程 4194
限制150内