《sopc课件第一章》由会员分享,可在线阅读,更多相关《sopc课件第一章(84页珍藏版)》请在金锄头文库上搜索。
1、sopcsopc课件第一章课件第一章 本章主要内容本章主要内容 本章简要介绍了本章简要介绍了SOPCSOPC及其技术,及其技术,Nios IINios II软核软核SOPCSOPC系统组件及开发环境。系统组件及开发环境。SOPCSOPC及其技术包括嵌入及其技术包括嵌入式系统、式系统、SOCSOC、FPGA/CPLDFPGA/CPLD等与等与SOPCSOPC技术密不可分的技术密不可分的概念和技术。概念和技术。Nios IINios II软核软核SOPCSOPC系统组件包括系统组件包括Nios Nios IIII软核嵌入式处理器、软核嵌入式处理器、AvalonAvalon总线和外围设备等三总线和外
2、围设备等三部分。部分。Nios IINios II软核软核SOPCSOPC系统开发环境包括硬件开系统开发环境包括硬件开发环境和软件开发环境。发环境和软件开发环境。 学习目的学习目的1、掌握、掌握SOPC的概念;的概念;2、了解、了解SOPC的基本组成和总体结构;的基本组成和总体结构; 3、对其软硬件开发环境和开发流程建立起整、对其软硬件开发环境和开发流程建立起整体概念。体概念。 第一章 目录 1 SOPC及其技术及其技术 嵌入式系统简介嵌入式系统简介 SOC系统简介系统简介 SOPC技术简介技术简介 CPLD/FPGA简介简介 新一代低成本新一代低成本FPGA Cyclone II简介简介 3
3、 Nios II软核软核SOPC系统开发环境系统开发环境 硬件开发环境硬件开发环境 软件开发环境软件开发环境 指令集介绍指令集介绍 2 Nios II软核软核SOPC系统及组件系统及组件 Nios II软核嵌入式处理器软核嵌入式处理器 Avalon Switch Fabric 外围设备外围设备 1 SOPC及其技术及其技术n 嵌入式系统简介嵌入式系统简介 所谓嵌入式系统(Embedded System),实际上是“嵌入式计算机系统”的简称,它是相对于通用计算机系统而言的。根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模的设备。 国内一般定义为
4、:“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。 1 SOPC及其技术及其技术 嵌入式系统的核心是嵌入式处理器,嵌入式处理器的应用软件是实现嵌入式系统功能的关键。 比较流行的高性能嵌入式RISC处理器产品主要有ARM公司的ARM系列、IBM公司的Power PC、MIPS公司的MIPS、Sun公司的Sparc等。 嵌入式操作系统有VxWorks、Windows CE、Linux、pSOS、EPOC、Palm OS 、QNX 、BeOS 、VRTX、C/OS、CLinux等。1 SOPC及其技术及其技术ARM系列处理器 虽然有多种嵌
5、入式处理器可供选择,但ARM处理器以其高性能、低功耗等突出优点已在32位嵌入式应用中稳居世界第一,已占据32位、64位嵌入式应用的绝大部分市场。 目前非常流行的ARM内核有ARM7TDMI、StrongARM ARM720T、ARM9TDMI、ARM920T、ARM940T、ARM946T、ARM966T、TARM10TDM等。ARM系列还获得了许多实时操作系统供应商的支持。 1 SOPC及其技术及其技术 右图所示是嵌入式技术发展的示意图,而SOC和SOPC代表了嵌入式系统发展的方向。 1 SOPC及其技术及其技术n SOC系统简介系统简介 20世纪90年代后期,嵌入式系统设计从以嵌入式微处理
6、器/DSP为核心的“集成电路”级设计不断转向“集成系统”级设计,提出了SOC(片上系统,System on a Chip)的基本概念。目前嵌入式系统已进入了单片系统SOC的设计阶段,并逐步进入实用化、规范化阶段,集成电路已进入SOC的设计流程。 广义而言,SOC应该指在单片上集成系统级多元化的大规模功能模块,从而构成一个能够处理各种信息的集成系统。1 SOPC及其技术及其技术 狭义地讲,SOC是一种结合了许多功能模块和微处理器核心的单芯片电路系统。 片内使用IP构建是SOC的一个重要特性。 IP(Intellectual Property)即知识产权核或知识产权模块的意思,著名的美国Dataq
7、uest咨询公司将半导体产业的IP定义为用于ASIC(Application Specific Integrated Circuit)或FPGA(Field Programmable Gate Array)/CPLD(Complex Programmable Logic Device)中的预先设计好的电路功能模块。IP分为软IP、固IP、硬IP。 1 SOPC及其技术及其技术软IP核:用Verilog HDL (Hardware Description Language) 描述的功能块。固IP核:完成了综合的功能块。有较大的设计深度,以网表文件的形式提交客户使用。硬IP核:它提供设计的最终阶段
8、产品:掩模。 显而易见,在具体实现手段和工艺技术尚未确定的逻辑设计阶段,软核具有最大的灵活性,它很容易地借助EDA综合工具与其他外部逻辑结合为一体。相比之下,固核和硬核与其他外部逻辑结合为一体的灵活性要差得多,特别是电路实现工艺改变时更是如此。 1 SOPC及其技术及其技术 当需要推出新产品时,SOC开发人员可以将原来的IP转移到新的嵌入式系统上,或者只需要更改一小部分电路,就可满足产品所需要的功能要求。这就是IP核的重复利用。 SOC是以嵌入式系统结构为基础,集软硬件于一体的系统级芯片,其系统功能可以全部由硬件完成,也可以由硬件和软件协同完成。目前,所谓的SOC,主要是指含有嵌入式处理器的S
9、OC,处理器是SOC的一个组成部分,和其他部件融合在一起。 1 SOPC及其技术及其技术nSOPC技术简介技术简介 基于基于FPGA嵌入嵌入IP硬核的硬核的SOPC系统系统 即在FPGA中预先植入嵌入式系统处理器。目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。尽管有这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个完整的应用系统。 1 SOPC及其技术及其技术基于基于FPGA嵌入嵌入IP软核的软核的SOPC系统系统将IP硬核直接嵌入FPGA中的解决方案存在以
10、下几点不足:由于此类硬核多来自第3方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对偏高。由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式,乃至指令形式。无法根据实际设计需求在同一FPGA中使用多个处理器核。无法裁减处理器硬件资源以降低FPGA的成本。只能在特定的FPGA中使用硬核嵌入式系统,如只能使用Excalibur系列FPGA中的ARM核,Virtex-II Pro系列中的PowerPC核。如果利用软核嵌入式系统处理器就能有效地克服解决上述不利因素 1 SOPC及其技术及其技术基于基于HardCopy技术的技术的SOPC系统
11、系统 通过强化SOPC工具的设计能力,在保持FPGA开发优势的前提下,引入ASIC的开发流程,从而对ASIC市场形成直接竟争。这就是Altera推出的HardCopy技术。 HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。 与HardCopy技术相比,对于系统级的大规模ASIC(SOC)开发,有不少难于克服的问题,其中包括开发周期长、产品上市慢、一次性成功率低、又最少的投片量要求、设计软件工具繁多且昂贵、开发流程复杂等。 1 SOPC及其技术及其技术 HardCopy技术是一种全
12、新的SOC级ASIC设计解决方案,即将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术,首先利用Quartus II将系统模型成功实现于HardCopy FPGA上,然后帮助设计者把可编程解决方案无缝地迁移到低成本的ASIC上的实现方案。这样HardCopy器件就把大容量的FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子系统产品上。从而避开了直接设计ASIC的困难,而从原型设计提升至产品制造,通过将FPGA的设计十分容易地移植到HardCopy器件上,即可达到降低成本,加快面世周期的目的。 1 SOPC及其技术及其技术SOPC与与MC
13、U、DSP和和FPGA MCU、DSP 和 FPGA 三种处理器在现代嵌入式系统中扮演的角色呈现三分天下的局面,它们各自具有独特的优势而在某方面又略显不足。SOPC 可以将 MCU、DSP 和 FPGA 完美结合!即SOPC MCU + DSP + FPGA。 (1)SOPC与MCU (2)SOPC与DSP (3)SOPC与FPGA1 SOPC及其技术及其技术(1)SOPC与MCU 目前,在大容量FPGA中可以嵌入16位或32位以上的MCU。如Altera公司的FPGA可嵌入一个或多个软核CPU(Nios或NiosII),或预嵌入ARM等微处理器。(2)SOPC与DSP DSP对海量数据快速处
14、理的优异性能主要在于它的流水线计算技术,只有规律的加减乘除等运算才容易实现流水线的计算方式。然而,这种运算方式也较容易用 FPGA 的硬件门电路来实现。1 SOPC及其技术及其技术(3)SOPC与FPGA SOPC一般采用大容量 FPGA 作为载体,除了在一片FPGA中定制MCU处理器和DSP 功能模块外,还可以设计其他逻辑功能模块,实现 MCU+DSP+FPGA 在一片芯片上集成。下图是一个典型的基于Altera公司大容量 FPGA 的SOPC结构图 1 SOPC及其技术及其技术nCPLD/FPGA简介简介 CPLD/FPGA 的基本知识的基本知识 传统的通用数字集成芯片难以满足系统的功能要
15、求,而且随着系统复杂程度的提高,所需通用集成电路的数量呈爆炸性增长,使得电路的体积膨大,可靠性难以保证。此外,现代产品的生命周期都很短,一个电路可能需要在很短的周期内作改动以满足新的功能需求,对于采用通用数字集成电路设计的电路系统来说,即意味着重新设计和重新布线。1 SOPC及其技术及其技术 此外,现代产品的生命周期都很短,一个电路可能需要在很短的周期内作改动以满足新的功能需求,对于采用通用数字集成电路设计的电路系统来说,即意味着重新设计和重新布线。因此,系统设计师们希望自己设计专用集成电路(ASIC)芯片,而且希望 ASIC 的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,
16、并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。 1 SOPC及其技术及其技术FPGACPLD 概述概述 FPGA(现场可编程门阵列)与 CPLD(复杂可编程逻辑器件)是由三大部分组成的: (1)一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心; (2)输入输出块; (3)连接逻辑块的互连资源,由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入输出块之间的连接。 1 SOPC及其技术及其技术 FPGACPLD 芯片都是特殊的ASIC芯片,它们除了具有
17、ASIC 的特点之外,还具有以下几个优点几个优点:(1 1)所能实现的功能也越来越强,同时也可以实现系统集成,即片上系统SOC。 (2 2)FPGACPLD的资金投入小,节省了许多潜在的花费。(3 3)用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。 (4 4)在线可编程技术(ISP)使得使用 CPLD/FPGA 的产品可以做到远程升级。 FPGA 的基本开发流程的基本开发流程1 SOPC及其技术及其技术1 SOPC及其技术及其技术具体流程:具体流程:(1)电路设计与输入(2)功能仿真(3)综合优化(Synthesize)(4)综合后仿真(5)实现与布局布
18、线(6)时序仿真与验证(7)板极仿真与验证(8)调试与加载配置1 SOPC及其技术及其技术n新一代低成本新一代低成本FPGA Cyclone II简介简介 低成本是PFGA发展的一个主要趋势。FPGA/CPLD因其价格昂贵,以前仅仅应用在高端数字电路,特别是一些通讯领域。FPGA/CPLD器件商发现,最大的市场份额存在于中低端市场,于是推出低成本的FPGA/CPLD。目前竞争最激烈的是低端PFGA市场。 低端FPGA简化掉了高端FPGA的许多专用和高性能电路。但低端FPGA已经能够满足绝大多数市场需求。Altera 的低端FPGA主要有3个系列,传统的Cyclone系列,改进后的低成本、高性能
19、Cyclone II系列以及Max II系列。 1 SOPC及其技术及其技术器件概述器件概述 Cyclone II器件采用90nm工艺制造,它延续了Cyclone的低成本定位,在逻辑容量、PLL、乘法器和I/O数量上都较Cyclone有了很大的提高。其型号及性能指标如下表所示。1 SOPC及其技术及其技术特性 EP2C5EP2C8EP2C20EP2C35 EP2C50EP2C70LE 4608825618752332165052868416M4K RAM块(4k位+512个校验位)26 3652105129250RAM位总位数 119,808 165,888239,616483,840594,
20、4321,152,000锁相环 224444乘法器模块 1318263586150最大用户I/O引脚数 142 1823154754506221 SOPC及其技术及其技术 Cyclone II FPGA包含二维的行列结构来实现定制逻辑。速度可变的行和列的内部连接提供逻辑阵列块(LABs)、内嵌存储器块和内嵌乘法器之间的信号连接。逻辑阵列是由LABs组成,每个LABs中包含16个逻辑单元(LEs)。一个LE是一个提供用户逻辑功能有效实现的小的逻辑单元。LABs按行和列进行分组。Cyclone II FPGA中包含的LEs的数目最小是4,608,最大是68,416。 Cyclone II FPGA
21、提供一个全局时钟网络且有4个锁相环 ( PLLs )。全局时钟网络包含16条驱动整个器件的时钟线,它为器件内所有资源提供clocks信号,例如输入/输出单元(IOEs)、 LEs、内嵌乘法器和内嵌存储器块。 1 SOPC及其技术及其技术 M4K存储器块是真正的双端口存储器块,具有4K bits存储容量加上512位校验位(共4608位)。这些存储器块提供专用的真正双端口、简单双端口或单口存储器,存储器的数据总线最大可达36位,频率可达250MHz。这些块在LABs之间按列排列。Cyclone II PFGA提供的内嵌存储器容量最小为119K位,最大为1152K位。 每个内嵌乘法器块能实现或者2个
22、9 9bit的乘法器,或者一个18 18bit的乘法器,具有250MHz的时钟频率。内嵌乘法器在器件中按列排列。 每个Cyclone II PFGA器件的I/O引脚由一个位于器件周围的行列IOE驱动,I/O引脚支持不同的单端和差分I/O标准 。1 SOPC及其技术及其技术 和延时链相连的DQS、DQ和DM等双用途引脚(用于双数据速率(DDR)信号的相位对齐)为外部存储器提供接口支持,例如:DDR、DDR2、单数据率的SDRAM和QDRII SRAM,最高速率可达167MHz。 下图显示了Cyclone II EP2C20的内部结构。 图中,周围是IOE,四个角是PLL。中间白色部分是逻辑阵列,
23、灰色部分是M4K的RAM块,中间黑色部分是内嵌的乘法器模块。器件型号不同,其包含的LABs、LEs、PLLs、M4K存储块和内嵌乘法器的数量也不同。 1 SOPC及其技术及其技术1 SOPC及其技术及其技术时钟网络和锁相环时钟网络和锁相环(PLL) Cyclone II器件提供最多16个全局时钟网络和最多4个PLLs来实现时钟的管理。每个全局时钟网络有一个时钟控制块,其功能是从多个输入时钟源中进行选择,用来驱动全局时钟网络。下表列出了每种Cyclone II器件中所包含的PLLs、 CLK引脚、DPCLK引脚和全局时钟网络的数目。1 SOPC及其技术及其技术CLK引脚是专用时钟引脚,DPCLK
24、引脚是双用途的时钟引脚1 SOPC及其技术及其技术(1)专用时钟引脚 较大规模的Cyclone II器件有16个专用时钟引脚。较小规模的Cyclone II器件有8个专用时钟引脚。如果专用时钟引脚不用于全局时钟网络的输入,它们可作为通用输入引脚与逻辑阵列相连,但此时它们不支持I/O寄存器且必须使用基于LE的寄存器来代替I/O寄存器。(2)双用途时钟引脚 较大规模Cyclone II器件有20个双用途时钟引脚。角上的CDPCLK引脚通过多路开关输入到时钟控制块。较之其他时钟输入DPCLK,它们有更多的延时。小规模Cyclone II器件有8个双用途时钟引脚。从DPCLK引脚到它的扇出目标的传输延
25、时可在Quartus II软件中设定。1 SOPC及其技术及其技术(3)全局时钟网络 16或8个全局时钟网络驱动整个器件。专用时钟引脚CLK、PLL输出、逻辑阵列和DPCLK引脚能驱动全局时钟网络。 (4)时钟控制块 Cyclone II器件的每个全局时钟网络有一个时钟控制块。它被安排在器件的外围。其功能包括:动态选择全局时钟网络的时钟源和动态使能和禁止全局时钟网络。专用时钟引脚CLK)、PLL计数器输出、DPCLK引脚和内部逻辑均可作为时钟控制块的输入,其输出依次送往相应的全局时钟网络。 对某个时钟控制块有如下的输入源: 1 SOPC及其技术及其技术和时钟控制块在同一侧的4个时钟引脚。来自一
26、个PLL的3个PLL时钟输出。 和时钟控制块在同一侧的4个DPCLK引脚(包括CDPCLK引脚)。4个内部产生的信号。 上面的输入源中,只有2个时钟引脚、2个PLL时钟输出、一个DPCLK引脚和一个内部产生的信号被选择作为时钟控制块输入信号。 下图是时钟控制块的较详细的结构图。6个输入信号中,2个时钟输入和2个PLL输出可动态选择为时钟控制块的输入。1 SOPC及其技术及其技术1 SOPC及其技术及其技术(5)锁相环 Cyclone II PLLs提供通用时钟且支持以下特性: 对时钟的乘除运算 相移 可编程的占空比 3个内部时钟输出 一个专用的外部时钟输出 支持差分I/O的时钟输出 手动的时钟
27、转接 带宽可编程 门控锁相信号1 SOPC及其技术及其技术 3种不同的时钟反馈模式 控制信号 Pllenable信号使能和禁止PLLs。Areset信号复位/重新同步输入时钟。Pfdena信号与一可编程的门控信号一起控制相频检测器(PFD)的输出。下图是Cyclone II PLL的方框图。1 SOPC及其技术及其技术1 SOPC及其技术及其技术内嵌存储器内嵌存储器 Cyclone II内嵌存储器是由多列M4K存储器块组成。M4K存储器块包括输入寄存器和输出寄存器。输入寄存器用于同步写操作,输出寄存器用于流水设计和提高系统性能。输出寄存器可被旁路,而输入寄存器不能旁路。 M4K存储器块支持的存
28、储器类型有:真正的双端口、简单双端口、单口RAM、ROM和先入先出(FIFO)缓冲器。M4K存储器块支持以下性能: 1 SOPC及其技术及其技术4,608 RAM bits最高250-MHz 频率真正的双端口存储器简单双端口存储器单端口存储器字节使能奇偶校验位移位寄存器FIFO缓冲器ROM 不同的时钟模式1 SOPC及其技术及其技术地址时钟使能独立时钟模式输入/输出时钟模式读/写时钟模式单时钟模式 I/O结构和特性结构和特性 IOEs支持以下特性:差分和单端I/O标准。3.3V、64位和32位、66MHz和33MHz PCI兼容。支持JTAG边界扫描测试。1 SOPC及其技术及其技术输出驱动功
29、率控制。配置期间弱上拉电阻。三态缓冲。总线保持电路。用户模式下可编程上拉电阻。可编程输入和输出延时。输出为漏极开路。DQ和DQS I/O引脚。VREF引脚。1 SOPC及其技术及其技术 Cyclone II器件的IOEs包含一个双向的I/O缓冲器和3个寄存器,用于控制完全内嵌的双向单数率传送。下图是Cyclone II器件的IOE结构。IOE包含一个输入寄存器、一个输出寄存器和一个输出使能寄存器。 设计者利用输入寄存器缩短建立时间,利用输出寄存器缩短clock-to-output时间。另外,设计者能利用输出使能寄存器缩短clock-to-output使能时间。IOEs可作为输入、输出或双向引脚
30、。 1 SOPC及其技术及其技术1 SOPC及其技术及其技术 IOEs位于Cyclone II器件周围的I/O块中。每行的I/O块中最多有5个IOEs, 每列的I/O块中最多有4个IOEs,行I/O块驱动行、列或直接内部连接,列I/O块驱动列的内部连接。 Cyclone II器件的IOE包括可编程延时电路,用来保证零保持时间,使建立时间最小化或使输出延时。 若一个引脚直接驱动寄存器,该路经可能需要一个可编程的延时来确保零保持时间。若一个引脚通过连接逻辑驱动寄存器,则该路经可能不需要延时。可编程延时减少了输入引脚到逻辑阵列和IOE输入寄存器的延时。 1 SOPC及其技术及其技术(1)外部存储器接
31、口 Cyclone II器件支持多种外部存储器接口,例如:SDR SDRAM、DDR SDRAM、DDR2 SDRAM和QDRII SRAM等外部存储器。下表是Cyclone II器件支持的外部存储器接口。Cyclone II器件具有专用的高速接口,用于在外部存储器之间传送数据。 1 SOPC及其技术及其技术1 SOPC及其技术及其技术 Cyclone II器件使用数据(DQ)、数据选通(DQS)和时钟引脚与外部存储器接口。Cyclone II器件也使用双向数据选通或单向读时钟,专用外部存储器接口也包括可编程延时电路,该电路对输入的DQS信号进行移相。DQS信号通常与一组数据(DQ)引脚相关。
32、相移DQS信号驱动全局时钟网络,全局时钟网络为内部的LE寄存器的DQ信号提供时钟信号。 当写数据到DDR SDRAM 和DDR2 SDRAM器件时,数据屏蔽(DM)引脚被需要。DM引脚为低电平指示写操作有效。若DM引脚为高,存储器屏蔽DQ信号。在Cyclone II器件中,DM引脚被指定,是预先指定的引脚。每组DQS和DQ信号需要一个DM引脚。1 SOPC及其技术及其技术 当使用Cyclone II I/O banks与DDR存储器接口时,至少需要一个具有2路时钟输出的PLL,用来产生系统和写时钟。系统时钟作为DQS写信号、命令和地址的时钟信号,写时钟与系统相差-900,它作为写操作期间DQ信
33、号的时钟。下图为从I/O通过专用电路到逻辑阵列的DDR SDRAM的接口。1 SOPC及其技术及其技术1 SOPC及其技术及其技术(2)可编程驱动能力 Cyclone II 器件的输出缓冲器可对每一种I/O标准进行驱动强度的编程控制。 (3)输出漏级开路 Cyclone II 器件的每个I/O引脚可选择为漏级开路(即集电极开路)输出。漏级开路输出可提供系统级的控制信号(即:中断和写使能信号),该信号可被多个器件设置为有效。(4)总线保持 每个Cyclone II 器件用户I/O引脚提供一个可选的总线保持特性。1 SOPC及其技术及其技术 总线保持电路仅在配置后才能激活。当进入用户模式时,该电路
34、捕获配置结束后出现在引脚上的值。总线保持电路利用一个约7K(RBH)的电阻把信号的电平拉到上次所驱动的状态。(5)可编程的上拉电阻 在用户模式,每个器件的I/O引脚提供一个可选的可编程上拉电阻。 (6)高级I/O标准支持 下表列出了Cyclone II 器件支持的I/O标准及支持该标准的引脚。1 SOPC及其技术及其技术1 SOPC及其技术及其技术续上表1 SOPC及其技术及其技术(7)高速差分接口 Cyclone II 器件能分别以622 Mbps和805 Mbps的速率通过LVDS信号发送和接收数据。其输入和输出引脚通过内部逻辑支持串行和非串行传送。 减小漂移的差分信号(RSDS)和min
35、i-LVDS标准是LVDS标准的派生物,它们在电气特性上与LVDS类似,但有较小的电压漂移,提供较大的功率且降低了电磁干扰(EMI)。其发送端的速率可达170Mbps,最大内部时钟频率是85MHz。 每个I/O bank中的引脚的一个子集支持高速I/O接口。 1 SOPC及其技术及其技术 在Cyclone II器件中,使用I/O引脚和内部逻辑可实现一个高速的I/O接收器和发送器。器件不包含专用的串行和非串行电路。 接收器的最大时钟频率是402.5MHz。发送器的最大内部时钟频率是311MHz。仅当DDIO寄存器被使用时,才可达到805Mbps的最大速率。 (8)串行片上终端电阻 片上终端有助于
36、防止反射和维护信号的完整性。在具有高引脚数的BGA(ball grid array)封装中,这也最大可能地减少了对外部电阻的需要。Cyclone II器件为单端输出和双向引脚提供I/O驱动器片内阻抗匹配和片内串联终端电阻。1 SOPC及其技术及其技术 所有I/O bank都支持片内串联终端。为了使能某个I/O bank的片内串联终端,VCCIO和VREF必须与所有的I/O引脚兼容。 注意:当使用片内串联终端时,驱动强度不可编程。(9)I/O banks Cyclone II器件中的I/O引脚被分组成为I/O bank,每个bank有一个独立的电源总线。上下I/O banks(在EP2C5和EP
37、2C8中的banks 2和4,在 EP2C20、EP2C35、EP2C50和EP2C70中的banks3、4、7和8 )除了PCI/PCI-X I/O标准外,支持上表中列出的所有的I/O标准。 1 SOPC及其技术及其技术 上下I/O banks支持DDR2存储器(速率可达167 MHz/333 Mbps)和QDR存储器(速率可达167 MHz/668 Mbps)。左右两边的I/O banks只支持SDR和DDR SDRAM接口。 每个I/O bank有自己的VCCIO引脚。一个器件可支持1.5V、1.8V、2.5V和3.3V接口,每个bank能支持具有不同I/O电压的不同标准。每个bank也
38、有双用途VREF引脚,独立地支持任何参考电压标准 。 每个I/O bank支持输入输出引脚具有相同的VCCIO的多种标准 。1 SOPC及其技术及其技术(10)多种电压I/O接口 Cyclone II器件的结构支持多电压I/O接口,允许各种封装的Cyclone II器件与不同电源电压的系统接口。 Cyclone II器件VCCINT必须与1.2V的电源电压相连,输入引脚可以是1.5V、1.8V、2.5V和3.3V。VCCIO可以与1.5V、1.8V、2.5V或3.3V电源线相连,取决于输出要求。输出电压与具有同样电源电压的系统兼容。 下表列出了Cyclone II器件支持的多种电压。1 SOP
39、C及其技术及其技术VCCIO(V)输入信号输出信号1.5V1.8V 2.5V 3.3V 1.5V1.8V2.5V3.3V1.51.82.53.3 第一章 目录 1 SOPC及其技术及其技术 嵌入式系统简介嵌入式系统简介 SOC系统简介系统简介 SOPC技术简介技术简介 CPLD/FPGA简介简介 新一代低成本新一代低成本FPGA Cyclone II简介简介 3 Nios II软核软核SOPC系统开发环境系统开发环境 硬件开发环境硬件开发环境 软件开发环境软件开发环境 指令集介绍指令集介绍 2 Nios II软核软核SOPC系统及组件系统及组件 Nios II软核嵌入式处理器软核嵌入式处理器
40、Avalon Switch Fabric 外围设备外围设备 2 Nios II软核软核SOPC系统及组件系统及组件 本节在介绍Nios II处理器系统的典型结构的基础上,分别概述了Nios II处理器系统的三个组成部分的结构和特点。 “Nios II处理器系统(Nios II Processor System)”的概念是指,在一个芯片上,它包含一个或多个可配置Nios II CPU软核、与CPU相连接的片内外设和存贮器以及与片外存储器和外设相连的接口等。所有组件在一个FPGA芯片上实现。所有Nios II处理器系统使用统一的指令集和编程模型。 一个典型的Nios II处理器系统如下图所示。 2
41、 Nios II软核软核SOPC系统及组件系统及组件2 Nios II软核软核SOPC系统及组件系统及组件 图中的Nios II CPU、外设和外设接口,如:SDRAM控制器、片内ROM/RAM、三态桥、UART、定时器、LCD显示驱动电路、通用I/O、以太网接口和Compact Flash等都是由FPGA内部的逻辑和RAM资源提供的。 FPGA器件的引脚和逻辑资源是可编程的,可进行多种定制: 片上引脚可重新排列以简化电路板的设计。 片上向外引出的引脚和片上逻辑资源可用于与处理器无关的功能。CPU以外的外部资源能实现整个系统的功能。 片上逻辑可用来实现Nios II处理器系统的特殊外设,Alt
42、era提供的片内外设库中的外设种类也会逐渐增多。2 Nios II软核软核SOPC系统及组件系统及组件 事实上,大部分FPGA设计除了Nios II处理器系统外还包含其他逻辑的实现。附加逻辑对软件编程无任何影响。 与一个固定的、成品的微控制器不同,Nios II处理器是一个可配置的软核处理器。 软件设计者在最终的硬件配置完成之前即可使用Nios II指令集仿真工具编写和调试Nios II应用程序。 Nios II处理器系统具有以下优点:以下优点: (1)定制指令 (2)灵活的外设配置与地址映射 (3)系统的自动创建2 Nios II软核软核SOPC系统及组件系统及组件n Nios II软核嵌入
43、式处理器软核嵌入式处理器Nios II 嵌入式处理器概述嵌入式处理器概述 Nios II处理器是Altera的第二代用户可配置的通用32位RISC软核微处理器,它是Altera特有的基于通用FPGA构架的软CPU内核,提供: 完全的32位指令集、数据总线和地址空间。 32位通用目的寄存器。 32个外部中断源。 单指令3232位乘和除指令可得到32位结果。 计算64位和128位乘积专用指令。 单指令桶形移位器。2 Nios II软核软核SOPC系统及组件系统及组件对多种片上外设进行访问,提供片外存贮器和外设接口。在IDE控制下,硬件辅助调试模块可对处理器进行启动、停止、单步和追踪操作。基于GNU
44、 C/C+工具链和Eclipse IDE。所有的Nios II处理器系统的指令集兼容。具有超过150DMIPS的性能。 Nios II处理器内核有三种类型,用来满足不同设计的要求,他们分别是快速性、经济性和标准型。快速性Nios II内核具有最高的性能,经济性Nios II内核具有最低的资源占用,而标准型在性能和面积之间做了一个平衡。Nios II处理器结构图如下图所示。2 Nios II软核软核SOPC系统及组件系统及组件2 Nios II软核软核SOPC系统及组件系统及组件使用使用Nios II 处理器的优势处理器的优势 使用Nios II 处理器的优势如下: 提高系统性能 延长产品的生命
45、周期 功能强大、易用的开发工具2 Nios II软核软核SOPC系统及组件系统及组件nAvalon Switch Fabric Avalon总线的主要设计目标是:简单 提供一套容易学习,易于理解的协议。优化总线逻辑资源的使用 减少对可编程逻辑器件(PLD)中逻辑单元(LE)的占用。同步操作 这种方式能够与片上用户的自定义逻辑更好的集成,从而避免了复杂的时序分析。Avalon 总线有多种传输模式,用以适应不同外设的需求:(1)Avalon总线的基本传输模式是在一个主外设和一个从外设之间进行单字节、半字或字(8、16或32)的传输。(2)Avalon总线还支持一些高级传输模式和特性 2 Nios
46、II软核软核SOPC系统及组件系统及组件 Avalon总线支持多个总线主外设,允许在单个总线事务中在外设之间传输多个数据单元。这一多主设备结构为构建SOPC系统提供了极大的灵活性,并且能够适应高带宽的外设。 Avalon主从外设之间的交互是构建在从端口仲裁技术基础之上的:即当多个主外设同时要求访问同一个从端口时,由从端口仲裁决定哪一个主外设取得访问权。 从端口仲裁具有以下两个优点优点:n仲裁的细节被封装在Avalon总线内部,因而主从外设的接口是一致的,与总线上的主从外设的数量无关。每个主外设到总线的接口都与总线上是否有其他的主外设无关。n多个主外设只要不是在同一个总线周期访问同一个从端口,便
47、可同时进行多个总线上的数据传输。2 Nios II软核软核SOPC系统及组件系统及组件 Avalon总线是为SOPC环境而设计的,互连逻辑由PLD内部的逻辑单元构成。 Avalon总线具有以下基本特点:所有外设接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。 所有的信号都是高电平或低电平有效,因此便于信号在总线中高速传输。 为了方便外设的设计,地址、数据和控制信号使用分离的专用的端口。 2 Nios II软核软核SOPC系统及组件系统及组件 Avalon总线还包括许多其他的特性和约定,用以支持SOPC Builder软件自动生成系统、总线和外设,包括:最大4GB的地址空间 存储器和
48、外设可以映像到32位地址空间的任意位置。内置地址译码 Avalon总线自动产生所有外设的片选信号,极大地简化了基于Avalon总线的外设的设计工作。多主设备总线结构 Avalon总线上可以包含多个主外设,并自动生成仲裁逻辑。采用向导帮助用户配置系统 SOPC Builder提供图形化的向导,帮助用户进行总线配置2 Nios II软核软核SOPC系统及组件系统及组件动态地址对齐 如果参与传输的双方总线宽度不一致,Avalon总线自动处理数据传输的细节,从而使得不同总线宽度的外设能够方便地连接和进行数据交换。2 Nios II软核软核SOPC系统及组件系统及组件n外围设备外围设备 Nios II处
49、理器系统中包含可以在FPGA中实现的外设,可分为2类:标准外设标准外设和定制外设定制外设。 标准外设指的是Altera提供的标准外围设备库。 定制外设可由设计者采用HAL创建并将它们集成到Nios II处理器系统。 第一章 目录 1 SOPC及其技术及其技术 嵌入式系统简介嵌入式系统简介 SOC系统简介系统简介 SOPC技术简介技术简介 CPLD/FPGA简介简介 新一代低成本新一代低成本FPGA Cyclone II简介简介 3 Nios II软核软核SOPC系统开发环境系统开发环境 硬件开发环境硬件开发环境 软件开发环境软件开发环境 指令集介绍指令集介绍 2 Nios II软核软核SOPC
50、系统及组件系统及组件 Nios II软核嵌入式处理器软核嵌入式处理器 Avalon Switch Fabric 外围设备外围设备 3 Nios II软核软核SOPC系统开发环系统开发环境境 n1.3.1 硬件开发环境硬件开发环境 SOPC Builder是一个自动化的SOPC硬件系统开发工具,它集成在Quartus II软件内,Quartus II和SOPC Builder一起为建立SOPC设计提供标准化的图形环境。使用SOPC Builder和Quartus II软件,设计者可以在很短的时间内定义一个完整的硬件系统。SOPC Builder通过SOPC开发阶段的系统定义、集成和验证的自动化,
51、缩短产品的市场化时间。 SOPC Builder系统开发工具提供直观的向导驱动图形用户界面,允许系统开发人员创建、配置和综合处理自己的SOPC设计。 3 Nios II软核软核SOPC系统开发环系统开发环境境 SOPC Builder输出文件有:用户设计Nios II硬件系统设计文件(.ptf)、Nios II系统模块网络表文件、定义所有模块的HDL源文件(VHDL或Verilog HDL)及一个用来把所有模块集成在一起的顶层的HDL描述文件、仿真测试平台文件等。 自定义软件开发工具包包括:头文件、自定义软件库文件和源代码文件。3 Nios II软核软核SOPC系统开发环系统开发环境境n软件开
52、发环境软件开发环境 Nios II软件开发环境被称为Nios II集成开发环境(Integrated Development Environment, IDE) 。它内嵌在Quartus II设计工具中。 Nios II IDE是基于GNU C/C+编译器和Eclipse IDE。Nios II IDE支持三种目标连接,可通过JTAG将应用程序下载到SOPC硬件系统中进行调试,可在指令集仿真器中对应用程序进行仿真调试,也可在ModelSim-Altera软件中进行仿真调试。 基于Nios II的SOPC的软硬件开发环境及设计全流程如下图所示。 3 Nios II软核软核SOPC系统开发环系统开
53、发环境境进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边
54、乘凉。孩子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有
55、母亲的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅结束