FPGA实验指导书第二章SOPC技术简介20世纪下半页以来,微电子技术迅猛发展,集成电路设计和工艺水平有了很大的提高,单片集成度已达上亿个晶体管,这从数量上已经大大超过了大多数电子系统的要求。如何利用这一儿乎无限的晶体管集成度,就成了电子工程师的一项重大挑战。在这种背景下,片上系统应运而生。SOC是将大规模的数字逻辑和嵌入式处理器整合在单个芯片上,集合模拟部件,形成模数混合、软硬件结合的完整的控制和处理片上系统。2.1SOPC技术的主要特点从系统集成的角度看,SOC是以不同模型的电路集成、不同工艺的集成作为支持基础的。所以,要实验SOC,首先必须重点研究器件的结构与设计技术、VLSI设计技术、工艺兼容技术、信号处理技术、测试与封装技术等,这就需要规模较大的专业设计队伍,相对较长的开发周期和高昂的开发费用,并且涉及到大量集成电路后端设计和微电子技术的专门知识,因此设计者在转向SOC的过程中也面临着巨大的困难。SOC面临上述诸多困难的原因在于SOC技术基于超大规模专用集成电路,因此,整个设计过程必须实现完整的定制或半定制集成电路设计流程。美国Altera公司在2000年提出的SOPC(SystemOnProgrammableChip,片上可编程系统)技术则提供了另一种有效的解决方案,即用大规模可编程器件的FPGA来实验SOC的功能。SOPC与SOC的区别是FPGA与ASIC的区别。SOPC是SOC发展的新阶段,代表了当今电子设计的发展方向。其基本特征是设计人员采用自顶向下的设计方法,对整个系统进行方案设计和功能划分,最后系统的核心电路在可编程器件上实验。随着百万门级的FPGA芯片、功能复杂的IP核、可重构的嵌入式处理器核以及各种功能强大的开发工具的出现,SOPC已成为一种一般单位甚至个人都可以承担和实现的设计方法。SOPC基于FPGA芯片,将处理器、存储器、I/O口等系统设计需要的模块集成在一起,完成整个系统的主要逻辑功能,具有设计灵活、可裁减、可扩充、可升级及软件、硬件在系统可编程的功能。近年来,MCU,DSP和FPGA在现代嵌入式系统中都扮满着非常重要的角色,它们都具有各自的特点但又不能兼顾。在简单的控制和人机接口方面,以51系列单片机和ARM微处理器为代表的MCU因为具有全面的软件支持而处于领先地位;在海量数据处理方面,DSP优势明显;在高速复杂逻辑处理方面,FPGA凭借其超大规模的单芯片容量和硬件电路的高速并行运算能力而显示出突出的优势。因而,MCU,DSP,FPGA的结合是未来嵌入式系统发展的趋势。而SOPC技术正是MCU,DSP和FPGA有机融合。目前,在大容量FPGA中可以嵌入16位或32位的MCU,如Altera公司的NiosII处理器:DSP对海量数据快速处理的优异性能主要在手它的流水线计算技术,只要规律的加减乘除等运算才容量实验流水线的计算方式,这种运算方式也较容量用FPGA的硬件门电路来实现。自前,实验各种DSP算法的IP核已经相当丰富和成熟,例如FFT,IIR,Codec等。利用相关设计工具(如DSPBuider)可以很方便地把现有的数字信号处理IP核添加到工程中去;SOPC一般采用大容量FPGA(如Altera公司的Cyclone,Stratix等系列)作为载体,除了在一片FPGA中定制MCU处理器和DSP功能模块外,可编程器件内还具有小容量高速RAM资源和部分可编程模拟电路,还可以设计其他逻辑功能模块。一个大容量的FPGA的SOPC结构图如图1所示。SOPC技术具有如此多的优点,已经成为嵌入式系统领域中一个新的研究热点,并代表了未来半导体产业的一个发展方向。相对于单片机、ARM而言,目前SOPC技术的应用还不是很广,但从趋势6
FPGA 实验指导书 6 第二章 SOPC 技术简介 20 世纪下半页以来,微电子技术迅猛发展,集成电路设计和工艺水平有了很大的提高,单 片集成度已达上亿个晶体管,这从数量上已经大大超过了大多数电子系统的要求。如何利用这 一几乎无限的晶体管集成度,就成了电子工程师的一项重大挑战。在这种背景下,片上系统应 运而生。SOC 是将大规模的数字逻辑和嵌入式处理器整合在单个芯片上,集合模拟部件,形成模 数混合、软硬件结合的完整的控制和处理片上系统。 2.1 SOPC 技术的主要特点 从系统集成的角度看,SOC 是以不同模型的电路集成、不同工艺的集成作为支持基础的。所 以,要实验 SOC,首先必须重点研究器件的结构与设计技术、VLSI 设计技术、工艺兼容技术、 信号处理技术、测试与封装技术等,这就需要规模较大的专业设计队伍,相对较长的开发周期 和高昂的开发费用,并且涉及到大量集成电路后端设计和微电子技术的专门知识,因此设计者 在转向 SOC 的过程中也面临着巨大的困难。 SOC 面临上述诸多困难的原因在于 SOC 技术基于超大规模专用集成电路,因此,整个设计过 程必须实现完整的定制或半定制集成电路设计流程。美国 Altera 公司在 2000 年提出的 SOPC (System On Programmable Chip,片上可编程系统)技术则提供了另一种有效的解决方案,即 用大规模可编程器件的 FPGA 来实验 SOC 的功能。SOPC 与 SOC 的区别是 FPGA 与 ASIC 的区别。SOPC 是 SOC 发展的新阶段,代表了当今电子设计的发展方向。其基本特征是设计人员采用自顶向下 的设计方法,对整个系统进行方案设计和功能划分,最后系统的核心电路在可编程器件上实验。 随着百万门级的 FPGA 芯片、功能复杂的 IP 核、可重构的嵌入式处理器核以及各种功能强 大的开发工具的出现,SOPC 已成为一种一般单位甚至个人都可以承担和实现的设计方法。SOPC 基于 FPGA 芯片,将处理器、存储器、I/O 口等系统设计需要的模块集成在一起,完成整个系统 的主要逻辑功能,具有设计灵活、可裁减、可扩充、可升级及软件、硬件在系统可编程的功能。 近年来,MCU,DSP 和 FPGA 在现代嵌入式系统中都扮满着非常重要的角色,它们都具有各自 的特点但又不能兼顾。在简单的控制和人机接口方面,以 51 系列单片机和 ARM 微处理器为代表 的 MCU 因为具有全面的软件支持而处于领先地位;在海量数据处理方面,DSP 优势明显;在高速 复杂逻辑处理方面,FPGA 凭借其超大规模的单芯片容量和硬件电路的高速并行运算能力而显示 出突出的优势。因而,MCU,DSP,FPGA 的结合是未来嵌入式系统发展的趋势。而 SOPC 技术正是 MCU,DSP 和 FPGA 有机融合。目前,在大容量 FPGA 中可以嵌入 16 位或 32 位的 MCU,如 Altera 公司的 Nios II 处理器;DSP 对海量数据快速处理的优异性能主要在于它的流水线计算技术,只 要规律的加减乘除等运算才容量实验流水线的计算方式,这种运算方式也较容量用 FPGA 的硬件 门电路来实现。目前,实验各种 DSP 算法的 IP 核已经相当丰富和成熟,例如 FFT,IIR,Codec 等。利用相关设计工具(如 DSP Buider)可以很方便地把现有的数字信号处理 IP 核添加到工程 中去;SOPC 一般采用大容量 FPGA(如 Altera 公司的 Cyclone,Stratix 等系列)作为载体,除 了在一片 FPGA 中定制 MCU 处理器和 DSP 功能模块外,可编程器件内还具有小容量高速 RAM 资源 和部分可编程模拟电路,还可以设计其他逻辑功能模块。一个大容量的 FPGA 的 SOPC 结构图如 图 1 所示。 SOPC 技术具有如此多的优点,已经成为嵌入式系统领域中一个新的研究热点,并代表了未来半 导体产业的一个发展方向。相对于单片机、ARM 而言,目前 SOPC 技术的应用还不是很广,但从趋势
FPGA实验指导书上看,只要再经过几年的发展,未来SOPC技术的应用就会像今天的单片机一样随处可见。CodeeFIR(MCU)1用广烫押用护烫箱图1大容量的FPGA的SOPC结构图2.2SOPC技术实现方式SOPC技术实现方式一般分为三种。(1)基于FPGA嵌入IP(IntellectualProperty)硬核的SOPC系统。目前最常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。Altera公司Excalibur系列的FPGA中就植入了ARM922T嵌入式系统处理器:Xi1inx的Virtex-IIPro系列中则植入了IBMPowerPC405处理器。这样就能使得FPGA灵活的的硬件设计和硬件实现与处理器强大的软件功能结合,高效地实现SOPC系统。(2)基于FPGA嵌入IP软核的SOPC系统。在第一种实现方案中,由于硬核是预先植入的,其结构不能改变,功能也相对固定,无法裁减硬件资源,而且此类硬核多来自第三方公司,其知识产权费用导致成本的增加。如果利用软核嵌入式系统处理器就能有效克服这些不利因素。最具有代表性的嵌入式软核处理器是Altera公司的NiosII软核处理器。(3)基于HardCopy技术的SOPC系统。HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。从SOPC实现方式上不难看出,IP核在SOPC系统设计中占有极其重要的地位,IP核设计及IP核的复用成为SOPC技术发展的关键所在。半导体产业的IP定义为用于ASIC,ASSP和PLD等当中预先设计好的电路模块。在SOPC设计中,每一个组件都是一个IP核。IP核模块有行为、结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即完成行为描述的软核(SoftIPCore)、完成结构描述的固核(FirmIPCore)和基于物理描述并经过工艺验证的硬核(Hard IP Core)。IP软核通常以HDL文本形式提交给用户,它已经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续的结构设计,具有很大的灵活性。借助于EDA综合工具可以很容易地与其他部逻辑电路合成一体,根据各种不同半导体工艺,设计成具有不同性能的器件。软IP核也称为虚拟组件(VirtualComponent,VC)。IP硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已通过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件。IP固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式提供给用户。如何设计出性能良好的IP核?虽然这个问题没有统一完整的答案,但根据前人开发的经验以及电子设计的一般规则,仍然可以总结出一般IP核设计应该遵循的几个准则:(1)规范化一一严格按照规范设计,这样的系统具有可升级性、可继承性,易于系统集成;7
FPGA 实验指导书 7 上看,只要再经过几年的发展,未来 SOPC 技术的应用就会像今天的单片机一样随处可见。 图 1 大容量的 FPGA 的 SOPC 结构图 2.2 SOPC 技术实现方式 SOPC 技术实现方式一般分为三种。 (1)基于 FPGA 嵌入 IP(Intellectual Property)硬核的 SOPC 系统。目前最常用的嵌入 式系统大多采用了含有 ARM 的 32 位知识产权处理器核的器件。Altera 公司 Excalibur 系列的 FPGA 中就植入了 ARM922T 嵌入式系统处理器;Xilinx 的 Virtex-II Pro 系列中则植入了 IBM PowerPC405 处理器。这样就能使得 FPGA 灵活的的硬件设计和硬件实现与处理器强大的软件功能 结合,高效地实现 SOPC 系统。 (2)基于 FPGA 嵌入 IP 软核的 SOPC 系统。在第一种实现方案中,由于硬核是预先植入的, 其结构不能改变,功能也相对固定,无法裁减硬件资源,而且此类硬核多来自第三方公司,其 知识产权费用导致成本的增加。如果利用软核嵌入式系统处理器就能有效克服这些不利因素。 最具有代表性的嵌入式软核处理器是 Altera 公司的 Nios II 软核处理器。 (3)基于 HardCopy 技术的 SOPC 系统。HardCopy 就是利用原有的 FPGA 开发工具,将成功 实现于 FPGA 器件上的 SOPC 系统通过特定的技术直接向 ASIC 转化,从而克服传统 ASIC 设计中 普遍存在的问题。 从 SOPC 实现方式上不难看出,IP 核在 SOPC 系统设计中占有极其重要的地位,IP 核设计及 IP 核的复用成为 SOPC 技术发展的关键所在。半导体产业的 IP 定义为用于 ASIC,ASSP 和 PLD 等当中预先设计好的电路模块。在 SOPC 设计中,每一个组件都是一个 IP 核。IP 核模块有行为、 结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即完成行为描述的软核 (Soft IP Core)、完成结构描述的固核(Firm IP Core)和基于物理描述并经过工艺验证的硬 核(Hard IP Core)。 IP 软核通常以 HDL 文本形式提交给用户,它已经过 RTL 级设计优化和功能验证,但其中不 含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续 的结构设计,具有很大的灵活性。借助于 EDA 综合工具可以很容易地与其他部逻辑电路合成一 体,根据各种不同半导体工艺,设计成具有不同性能的器件。软 IP 核也称为虚拟组件(Virtual Component ,VC)。 IP 硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已通过工艺验 证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件。 IP 固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外,还完成了门级电路 综合和时序仿真等设计环节。一般以门级电路网表的形式提供给用户。 如何设计出性能良好的 IP 核?虽然这个问题没有统一完整的答案,但根据前人开发的经验 以及电子设计的一般规则,仍然可以总结出一般 IP 核设计应该遵循的几个准则: (1)规范化——严格按照规范设计,这样的系统具有可升级性、可继承性,易于系统集成;
FPGA实验指导书(2)简洁化一一设计越简洁的系统,就越容易分析、验证,达到时序收敛:(3)局部化一一时序和验证中的问题局部化,就容易发现和解决问题,减少开发时间,提高质量。只有按照一定的编码规则编写的IP核代码才具有较好的可读性,易于修改并且具有较强的可复用性,同时也可获得较高的综合性能和仿真效果。2.3SOPC系统开发流程SOPC系统开发流程一般分为硬件和软件两大部分,如图2所示。硬件(按照习惯说法,将一个SOPC系统中的NioSIICPU和外设等统称为硬件,虽然它也是由软件来实现的:而在这个系统上运行的程序称为软件)开发主要是创建NiosII系统,作为应用程序运行的平台;软件开发主要是根据系统应用的需求,利用C/C++语言和系统所带的API(AppilcationProgrammingInterface,应用程序接口)函数编写实现特定功能的程序。这其中用到的主要工具是Altera公司的QuartusII和Nios II IDE。soPC Builder GUI自定制指令处理器库配置处理器IP模块外设库选择并配置外设软件开发连接模块硬件开发Nios II IDE:HDL原文件:c头文件生成自定文件测试平台外设驱动验证和硬件配Quartus II置文件调试编译.连接,调试分析和适配JTAG软件跟踪UART用户代码硬件断点:用户代码-Ethernet.库signal Tap II其它IP模块.RTOSAltera片上调试PLD图2SOPC系统开发流程2.4Cyclone器件Cyclone现场可编程门阵列系列基于1.5V、0.13μⅢ全铜层SRAM工艺,其密度增加至20060个逻辑元件(LE),RAM增加至228KB。它具有生成时钟的锁相环以及DDRSDR和快速RAM(FCRAM)存储器所需的专用双数据率(DDR)接口等。Cyclone器件支持多种I/0标准,包括640Mbps的LVDS,以及频率为33MHz和66MHz、数据宽度为32位和64位的PCI。2.4.1新型可编程架构Cyclone系列器件基于一种全新的低成本架构,从设计之初就充分考虑了成本的节省问题,因此可以为价格敏感的应用提供全新的可编程的解决方案。低成本FPGA的设计过程要面临许多的挑战,其中最具挑战性的就是如何在性能、特性以及价格中间找到一个合适的定位。FPGA设计师必须找到一个平衡点,以确保在可编程片上系统(SOPC)方案中既可以提供充足的逻辑单元和存储器容易,又不会使价格过高。Cyclone器件设计时选择了较小的封装形式,以提供给用户足够的I/O管脚和良好的功耗特性。在此基础上,根据封装的物理尺寸定义裸片连接点的最大尺寸,装入尽可能多的逻辑结构和存储器块,从而保证每种封装都装入最多的逻辑资源。8
FPGA 实验指导书 8 (2)简洁化——设计越简洁的系统,就越容易分析、验证,达到时序收敛; (3)局部化——时序和验证中的问题局部化,就容易发现和解决问题,减少开发时间,提 高质量。 只有按照一定的编码规则编写的 IP 核代码才具有较好的可读性,易于修改并且具有较强的 可复用性,同时也可获得较高的综合性能和仿真效果。 2.3 SOPC 系统开发流程 SOPC 系统开发流程一般分为硬件和软件两大部分,如图 2 所示。硬件(按照习惯说法,将一个 SOPC 系统中的 Nios II CPU 和外设等统称为硬件,虽然它也是由软件来实现的;而在这个系统上运 行的程序称为软件)开发主要是创建 Nios II 系统,作为应用程序运行的平台;软件开发主要是根 据系统应用的需求,利用 C/C++语言和系统所带的 API(Appilcation Programming Interface,应 用程序接口)函数编写实现特定功能的程序。这其中用到的主要工具是 Altera 公司的 Quartus II 和 Nios II IDE。 图 2 SOPC 系统开发流程 2.4 Cyclone 器件 Cyclone 现场可编程门阵列系列基于 1.5V、0.13μ m 全铜层 SRAM 工艺,其密度增加至 20060 个逻辑元件(LE),RAM 增加至 228KB。它具有生成时钟的锁相环以及 DDR SDR 和快速 RAM(FCRAM) 存储器所需的专用双数据率(DDR)接口等。Cyclone 器件支持多种 I/O 标准,包括 640Mbps 的 LVDS,以及频率为 33MHz 和 66MHz、数据宽度为 32 位和 64 位的 PCI。 2.4.1 新型可编程架构 Cyclone 系列器件基于一种全新的低成本架构,从设计之初就充分考虑了成本的节省问题, 因此可以为价格敏感的应用提供全新的可编程的解决方案。 低成本 FPGA 的设计过程要面临许多的挑战,其中最具挑战性的就是如何在性能、特性以及 价格中间找到一个合适的定位。FPGA 设计师必须找到一个平衡点,以确保在可编程片上系统 (SOPC)方案中既可以提供充足的逻辑单元和存储器容易,又不会使价格过高。 Cyclone 器件设计时选择了较小的封装形式,以提供给用户足够的 I/O 管脚和良好的功耗特 性。在此基础上,根据封装的物理尺寸定义裸片连接点的最大尺寸,装入尽可能多的逻辑结构 和存储器块,从而保证每种封装都装入最多的逻辑资源
FPGA实验指导书Cyclone架构如图3所示,垂直结构的逻辑单元(LE)、嵌入式存储块和锁相环(PLL)周围环绕着I/0单元(IOE),高效的内部连续和低延时的时钟网络保证了每个结构单元之间时钟和数据信号的连通性。器件周围分区工作的I/0单元被划分为不同的I/0块。这些I/0块支持一系列单端和差分I/0电平标准,包括SSTL-2、SSTL-3以及最高311Mbps的LVDS接口标准。每个I/0单元包含有3个寄存器,以实现双倍数据速率(DDR)的应用,另外还包含其他的I/0特性相关电路,如总线驱动能力可编程、总线保持以及电平摆率可编程等。Phase-Locked LoopsM9K Memory BlocksLogic ArrayEmbedded18-bit x 18-bitMultipliersSide 1O Cellwith Support forLVDS Signalsupto 875MbpsTopand BottomVO Cellfor MemoryInterfaces Up to400Mbps图3CvcloneIII平面图I/O块配备了专门的外部存储器接口电路。该接口电路大大简化了与外部存储器(包括DDRSDRAM和FCRAM器件)的数据交换过程,可以达到266Mbps(133MHz时钟频率)的最大数据交换速率。Cyc1one器件支持32B/66MHzPCI接口。每个I/0单元提供从管脚到FPGA内核的多条路径,以便器件满足相关的建立和保持时间。Cyclone器件的容量最小为2910个逻辑单元及59904B存储器,最大为20060个逻辑单元和294912B存储器。所有Cyclone器件由最多8个全局时钟线组成的全局时钟网络驱动。从器件的任何位置都可以访问这些时钟线,它们的驱动源可以是输入引脚、锁相环的输出时钟、DDR/PCI接口的输入信号以及内部逻辑生成的输出信号,如图4所示。Figure6-18,GlobalClockGenerationLK3Q000ACuBaeOPCLKSA)IDPOUN00OPCUK?X图4Cyclone器件时钟网络2.4.2嵌入式存储资源Cyclone器件为在FPGA上实现低成本的数字信号处理(DSP)系统提供了一个理想的平台。它为设计工程师提供了灵活的硬件解决方案,能够实现设计中所需的多个乘法器。9
FPGA 实验指导书 9 Cyclone 架构如图 3 所示,垂直结构的逻辑单元(LE)、嵌入式存储块和锁相环(PLL)周围 环绕着 I/O 单元(IOE),高效的内部连续和低延时的时钟网络保证了每个结构单元之间时钟和 数据信号的连通性。 器件周围分区工作的 I/O 单元被划分为不同的 I/O 块。这些 I/O 块支持一系列单端和差分 I/O 电平标准,包括 SSTL-2、SSTL-3 以及最高 311Mbps 的 LVDS 接口标准。每个 I/O 单元包含有 3 个寄存器,以实现双倍数据速率(DDR)的应用,另外还包含其他的 I/O 特性相关电路,如总 线驱动能力可编程、总线保持以及电平摆率可编程等。 图 3 CycloneIII 平面图 I/O 块配备了专门的外部存储器接口电路。该接口电路大大简化了与外部存储器(包括 DDR SDRAM 和 FCRAM 器件)的数据交换过程,可以达到 266Mbps(133MHz 时钟频率)的最大数据交换速率。 Cyclone 器件支持 32B/66MHz PCI 接口。每个 I/O 单元提供从管脚到 FPGA 内核的多条路径, 以便器件满足相关的建立和保持时间。 Cyclone 器件的容量最小为 2910 个逻辑单元及 59904B 存储器,最大为 20060 个逻辑单元和 294912B 存储器。 所有 Cyclone 器件由最多 8 个全局时钟线组成的全局时钟网络驱动。从器件的任何位置都 可以访问这些时钟线,它们的驱动源可以是输入引脚、锁相环的输出时钟、DDR/PCI 接口的输入 信号以及内部逻辑生成的输出信号,如图 4 所示。 图 4 Cyclone 器件时钟网络 2.4.2 嵌入式存储资源 Cyclone 器件为在 FPGA 上实现低成本的数字信号处理(DSP)系统提供了一个理想的平台。 它为设计工程师提供了灵活的硬件解决方案,能够实现设计中所需的多个乘法器
FPGA实验指导书Cyclone器件中的M9K块可用来实现软乘法器,以满足图像处理、音频处理和消费类电子系统的需要。软乘法器可以根据所需数据位宽、系数位宽来定制,并且根据需要选择精度。利用M9K块,可采用并行乘法方式或分布式运算方式来实现不同数据宽度的软乘法器。这两种不同的实现方法提供了等待时间、存储器利用率和乘法器尺寸上的灵活性。图5显示了使用CycloneFPGA的M9K块并采用分布式运算方式实现的有限脉冲响应(FIR)滤波器。表2-6汇总了在Cyclone器件的M4K块中可以实现的乘法器的数量。可选择流水线输人寄存器输出寄存器数据输入序列(n)输入序列寄存器x(n)缓存模块来清零读写地址、时钟及使能1果输出序列y(n)信号加模块控制模块时钟输入读地址、时钟及使能!系数输入系数滤波器系数h(n)存储模块系数写地址中 Up to 260 Mhz Performance79One 18-bitortwo 9-bit MultipliersperBlockHen-)Data A [17.0]M+DataOut [35.0]Data B [17.0]加/减法器NA乘法器求和单元/累加器CLRN18 × 18Multiplier图1DSP模块结构EmbeddedMultiplier图5用M9K块嵌入式乘法器采用分布式算法实现FIR滤波器表2-6在M9K块中实现18×18位乘法器器件M9K块的数量用M9K块可实现的乘法器的数量EP3C5462323EP3C10465656EP3C166666EP3C25126126EP3C40EP3C55260156EP3C80305244EP3C1204322882.4.3专用外部存储接口电路DDRSDRAM拥有与SDR相同的结构,但是在时钟的上升沿和下降沿都传输数据,从而使数据交换的带宽加倍。FCRAM则是一种延迟时间较低、基于SRAM功能架构的存储器件。在大容量、低功耗的应用环境下,FCRAM提供了更好的性能。与SDRAM类以,FCRAM支持在时钟的上下两个沿进行数据交换,适用于流水线存储和预置数所操作,与SDRAM架构的存储器相比,所需的访问时钟周期大大减少。Cyclone器件通过片内内嵌的专用接口电路实现与双数据速率(DDR)SDRAM和FCRAM以及单数据速率(SDR)SDRAM器件进行快速可靠的数据交换,最高速率可达到400MbpS。如果再结10
FPGA 实验指导书 10 Cyclone 器件中的 M9K 块可用来实现软乘法器,以满足图像处理、音频处理和消费类电子系 统的需要。软乘法器可以根据所需数据位宽、系数位宽来定制,并且根据需要选择精度。 利用 M9K 块,可采用并行乘法方式或分布式运算方式来实现不同数据宽度的软乘法器。这 两种不同的实现方法提供了等待时间、存储器利用率和乘法器尺寸上的灵活性。图 5 显示了使 用 Cyclone FPGA 的 M9K 块并采用分布式运算方式实现的有限脉冲响应(FIR)滤波器。表 2-6 汇总了在 Cyclone 器件的 M4K 块中可以实现的乘法器的数量。 图 5 用 M9K 块嵌入式乘法器采用分布式算法实现 FIR 滤波器 表 2-6 在 M9K 块中实现 18×18 位乘法器 器件 M9K 块的数量 用 M9K 块可实现的乘法器的数量 EP3C5 46 23 EP3C10 46 23 EP3C16 56 56 EP3C25 66 66 EP3C40 126 126 EP3C55 260 156 EP3C80 305 244 EP3C120 432 288 2.4.3 专用外部存储接口电路 DDR SDRAM 拥有与 SDR 相同的结构,但是在时钟的上升沿和下降沿都传输数据,从而使数据 交换的带宽加倍。FCRAM 则是一种延迟时间较低、基于 SRAM 功能架构的存储器件。在大容量、 低功耗的应用环境下,FCRAM 提供了更好的性能。与 SDRAM 类似,FCRAM 支持在时钟的上下两个 沿进行数据交换,适用于流水线存储和预置数所操作,与 SDRAM 架构的存储器相比,所需的访 问时钟周期大大减少。 Cyclone 器件通过片内内嵌的专用接口电路实现与双数据速率(DDR)SDRAM 和 FCRAM 以及 单数据速率(SDR)SDRAM 器件进行快速可靠的数据交换,最高速率可达到 400Mbps。如果再结