基于可编程逻辑器件的硬件乘法器电子信息本科毕业论文_第1页
基于可编程逻辑器件的硬件乘法器电子信息本科毕业论文_第2页
基于可编程逻辑器件的硬件乘法器电子信息本科毕业论文_第3页
基于可编程逻辑器件的硬件乘法器电子信息本科毕业论文_第4页
基于可编程逻辑器件的硬件乘法器电子信息本科毕业论文_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号 1 中州大学中州大学 毕业设计(论文) 题题 目目: 基于可编程逻辑器件的硬件乘法器 学学 院院: 工程技术学院 专专 业业: 应用电子 年 级 09 级 班 级 1 班 学生姓名学生姓名: 连雁雁 指导教师指导教师: 时 伟 职称: 助 教 时时 间间: 中州大学工程技术学院中州大学工程技术学院毕毕业业设设 计计 (论文(论文) 任任务务书书 毕业设计(论文)题目 基于可编程逻辑器件的硬件乘法器 专 业 应用电子技术 年 级 09 级 班 级 1 班 指导老师 时伟 学 号 1 学 生 连雁雁 毕业设计(论文)工作内容与基本要求(目标、任务、途径、方法、成果形式, 应掌握的原始资料(数

2、据) 、参考资料(文献)以及设计技术要求、注意事项等) (纸张不够可加页) 通过本题目的毕业设计,培养学生独立分析思考以解决实际问题的能力。掌握 现代电子电路设计自动化的基本流程,掌握可编程逻辑器件的硬件结构、原理 和特性,掌握用硬件描述语言、EDA 工具和开发平台对毕业设计题目涉及的核 心电路及相关扩展电路进行设计开发、模拟仿真及硬件测试的方法。 在本毕业设计中,学生应参阅相关文献资料,对所设计题目做深入分析以提出 设计方案;论文需提供经验证的源程序和相关仿真测试数据(文本或图片形式) 。 指导老师: 日期:日期: 年年 月月 专业(教研室)审批意见: 审批人审批人签名:签名: 日期:日期:

3、 年年 月月 中州大学工程技术学院中州大学工程技术学院毕毕业业设设 计计 (论文(论文) 开题报告开题报告 课题名称: 基于可编程逻辑器件的硬件乘法器 工程技术 学院 应用电子技术 专业 09 级 1 班 学 号 1 学 生 连雁雁 指 导 老 师 时伟 开题报告内容:(调研资料的准备,设计/论文的目的、要求、思路与预期成果; 任务完成的阶段内容及时间安排;小组内其他成员的分工;完 成设计(论文)所具备的条件因素等。 ) 学生应参阅相关文献资料,对所设计题做深入分析以提出设计方案。通过本题 目的毕业设计,培养学生独立分析思考以解决实际问题的能力。掌握现代电子 电路设计自动化的基本流程,掌握可编

4、程逻辑器件的硬件结构、原理和特性, 掌握用硬件描述语言、EDA 工具和开发平台对毕业设计题目涉及的核心电路及 相关扩展电路进行设计开发、模拟仿真及硬件测试的方法。 论文需提供经验证的源程序和相关仿真测试数据(文本或图片形式) 。 指导教师签名:指导教师签名: 日期:日期: 目目 录录 摘 要.6 ABSTRACT.7 第一章 引 言.8 1.1 课题背景.8 1.2 设计方法.8 第二章 可编程器件 PLD 的基本原理与结构.12 2.1 可编程逻辑器件发展简介.12 2.2 MAX7000 系列 CPLD 器件简介.13 2.2.1 逻辑阵列块 LAB(LOGIC ARRAY BLOCK).

5、15 2.2.2 宏单元 MACROCELLS.15 2.2.3 扩展乘积项 EPT(EXPANDER PRODUCT TERMS).17 2.2.4 可编程互联阵列 PIA(PROGRAMMABLE INTERCONNECT ARRAY) .19 2.2.5 IO 控制块 IOC.20 2.3 CYCLONE系列 FPGA 器件简介 .21 第三章 基于 PLD 的硬件乘法器电路的设计.27 3.1 8 位乘法器设计总体框图.27 3.1.1 设计思路.27 3.1.2 方案设计.28 3.2 选择器件与功能模块.28 3.2.1 选择器件.28 3.3 快速乘法器 VHDL 源程序.30

6、3.3.1 选通与门模块的源程序 ANDARITH.VHD.30 3.3.2 6 位锁存器的源程序 REG16B.VHD.31 3.3.3 8 位右移寄存器的源程序 SREG8B.VHD.33 3.3.4 乘法运算控制器的源程序 ARICTL.VHD.34 3.3.5 8 位乘法器的源程序 MULTI8X8.VHD.36 3.4 管脚分配图.41 3.5 实验下载验证情况.41 心得体会.43 致 谢.44 参考文献.45 摘摘 要要 EDA 是电子设计自动化(Electronic Design Automation)的缩写,在 20 世纪 90 年代初从计算机辅助设计(CAD) 、计算机辅助

7、制造(CAM) 、计算机辅助 测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA 技术就是以计 算机为工具,设计者在 EDA 软件平台上,用硬件描述语言 HDL 完成设计文件, 然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和 仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动 强度。利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系 统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析 到设计出 IC 版图或 PCB 版图的整个过程的计

8、算机上自动处理完成。 关键词:电子自动化、硬件描述语言。 Abstract EDA electronic design automation (Electronic Design Automation) stands, in the 20th century, the early 90s from the computer-aided design (CAD), computer- aided manufacturing (CAM), computer-aided test (CAT) and computer-aided engineering (CAE) of the con EDA te

9、chnology is a computer as a tool, designers in the EDA software platform, complete with hardware description language HDL design files, and then automatically completed by computer logic, compile, simplification, segmentation, synthesis, optimization, layout, routing and simulation, until the adapte

10、r chip for the specific target compilation, mapping and programming logic to download and so on.ceptual development of come. EDA technologies, greatly improves the efficiency of the circuit design and operability, reduced the labor intensity of the designer. The use of EDA tools, designers from conc

11、ept, algorithms, protocols and so began to design electronic systems, a lot of work can be completed via a computer, and can be e-products from the circuit design, performance analysis to the IC layout design or PCB layout of the entire process of the computer automatically processed. Keywords: Elec

12、tronic Automation, Hardware Description Language. 第一章第一章 引引 言言 1.11.1 课题背景课题背景 人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产 品的进步。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降 趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产 制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到 深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。后者的核心 就是 EDA 技术,EDA 是指以计算机为工作平台,融合应用电子技术、计算机技 术、智能化技术最

13、新成果而研制成的电子 CAD 通用软件包,主要能辅助进行三 方面的设计工作:IC 设计,电子电路设计,PCB 设计。没有 EDA 技术的支持,想 要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技 术的不断进步又必将对 EDA 技术提出新的要求。 1.21.2 设计方法设计方法 10 年前,电子设计的基本思路还是选择标准集成电路“自底向上” (BottomUp)的构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金 字塔,不仅效率低、成本高而且容易出错。高层次设计给我们提供了一种“自 顶向下”(TopDown)的全新设计方法,这种设计方法首先从系统设计入手,在 顶层进行功能

14、方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用 硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综 合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或 专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这一方 面有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻 辑功能仿真的工作量,提高了设计的一次成功率。 1.2.11.2.1 ASICASIC 设计设计 现代电子产品的复杂度日益加深,一个电子系统可能由数万个中小规模集成 电路构成,这就带来了体积大、功耗大、可靠性差的问题,解决这一问题的有 效方法就是采用 ASIC(A

15、pplication Specific Integrated Circuits)芯片进行 设计。ASIC 按照设计方法的不同可分为:全定制 ASIC,半定制 ASIC,可编程 ASIC(也称为可编程逻辑器件)。 设计全定制 ASIC 芯片时,设计师要定义芯片上所有晶体管的几何图形和工 艺规则,最后将设计结果交由 IC 厂家掩膜制造完成。优点是:芯片可以获得最 优的性能,即面积利用率高、速度快、功耗低。缺点是:开发周期长,费用高, 只适合大批量产品开发。 半定制 ASIC 芯片的版图设计方法有所不同,分为门阵列设计法和标准单元 设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺

16、 牲芯片性能为代价来缩短开发时间。 可编程逻辑芯片与上述掩膜 ASIC 的不同之处在于:设计人员完成版图设 计后,在实验室内就可以烧制出自己的芯片,无须 IC 厂家的参与,大大缩短了 开发周期。可编程逻辑器件自七十年代以来,经历了 PAL、GAL、CPLD、FPGA 几 个发展阶段,其中 CPLD/FPGA 属高密度可编程逻辑器件,目前集成度已高达 200 万门/片,它将掩膜 ASIC 集成度高的优点和可编程逻辑器件设计生产方便 的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快 的速度上市,而当市场扩大时,它可以很容易的转由掩膜 ASIC 实现,因此开发 风险也大为降低。上

17、述 ASIC 芯片,尤其是 CPLD/FPGA 器件,已成为现代高层次 电子设计方法的实现载体。 1.2.21.2.2 硬件描述语言硬件描述语言 硬件描述语言(HDLHardware Description Language)是一种用于设计硬 件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、 电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设 计。例如一个 32 位的加法器,利用图形输入软件需要输入 500 至 1000 个门, 而利用 VHDL 语言只需要书写一行 A=B+C 即可,而且 VHDL 语言可读性强,易于 修改和发现错误。早期的硬件描述语言,

18、如 ABELHDL、AHDL,由不同的 EDA 厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。 为了克服以上不足,1985 年美国国防部正式推出了 VHDL(Very High Speed IC Hardware Description Language)语言,1987 年 IEEE 采纳 VHDL 为硬件描述语 言标准(IEEE STD-1076)。 VHDL 是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻 辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此 VHDL 几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电

19、路设计过程都可以用 VHDL 来完成。VHDL 还具有以下优点: (1)VHDL 的宽范围描述能力使它成为高层次设计的核心,将设计人员的工 作重心提高到了系统功能的实现与调试,而化较少的精力于物理实现。 (2)VHDL 可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且 方便,而且也便于设计结果的交流、保存和重用。 (3)VHDL 的设计不依赖于特定的器件,方便了工艺的转换。 (4)VHDL 是一个标准语言,为众多的 EDA 厂商支持,因此移植性好。 1.2.31.2.3 系统级设计系统级设计 进入 90 年代以来,电子信息类产品的开发明显出现两个特点:一是产品的 复杂程度加深;二是产品

20、的上市时限紧迫,然而电路级设计本质上是基于门级描 述的单层次设计,设计的所有工作(包括设计输入,仿真和分析,设计修改等) 都是在基本逻辑门这一层次上进行的,显然 这种设计方法不能适应新的形势, 为此引入了一种高层次的电子设计方法,也称为系统级的设计方法。 高层 次设计是一种“概念驱动式”设计,设计人员无须通过门级原理图描述电路, 而是针对设计目标进行功能描述,由于摆脱了电路细节的束缚,设计人员可以 把精力集中于创造性的方案与概念构思上,一旦这些概念构思以高层次描述的 形式输入计算机后,EDA 系统就能以规则驱动的方式自动完成整个设计。这样, 新的概念得以迅速有效的成为产品,大大缩短了产品的研制

21、周期。不仅如此, 高层次设计只是定义系统的行为特性,可以不涉及实现工艺,在厂家综合库的 支持下,利用综合优化工具可以将高层次描述转换成针对某种工艺优化的网表, 工艺转化变得轻松容易。 高层次设计步骤如下: 第一步: 按照“自顶向下”的设计方法进行系统划分。 第二步: 输入 VHDL 代码,这是高层次设计中最为普遍的输入方式。 此外,还可以采用图形输入方式(框图,状态图等),这种输入方式具有直观、 容易理解的优点。 第三步: 将以上的设计输入编译成标准的 VHDL 文件。对于大型设计, 还要进行代码级的功能仿真,主要是检验系统功能设计的正确性,因为对于大 型设计,综合、适配要花费数小时,在综合前

22、对源代码仿真,就可以大大减少 设计重复的次数和时间,一般情况下,可略去这一仿真步骤。 .第四步: 利用综合器对 VHDL 源代码进行综合优化处理,生成门级描 述的网表文件, 这是将高层次描述转化硬件电路的关键步骤。综合优化是针对 ASIC 芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合 库支持下才能完成。综合后,可利用产生的网表文件进行适配前的时序仿真, 仿真过程不涉及具体器件的硬件特性,是较为粗略的,一般设计,这一仿真步 骤也可略去。 第五步: 利用适配器将综合后的网表文件针对某一具 体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化、 布局布线。适配完成后

23、,产生多项设计结果:适配报告,包括芯片内部资源 利用情况,设计的布尔方程描述情况等;适配后的仿真模型;器件编程文件。 根据适配后的仿真模型,可以进行适配后的时序仿真,因为已经得到器件的实 际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性 能。如果仿真结果达不到设计要求,就需要修改 VHDL 源代码或选择不同速度品 质的器件,直至满足设计要求。 第六步: 将适配器产生的器件编程 文件通过编程器或下载电缆载入到目标芯片 FPGA 或 CPLD 中。如果是大批量产 品开发,通过更换相应的厂家综合库,可以很容易转由 ASIC 形式实现。 第二章第二章 可编程器件可编程器件 PLD

24、PLD 的基本原理的基本原理与结构与结构 2.12.1 可编程逻辑器件可编程逻辑器件发展简介发展简介 早期的可编程逻辑器件只有可编程的只读存贮器 PROM (Programmable Read Only Memory)、紫外线可擦除只读存贮器 UV-EPROM (Ultra Violet Erasable Programmable Read Only Memory)和电可擦除只读存贮器 EEPROM 或 E2PROM (Electrical Erasable Programmable Read Only Memory)三种。这些 器件由于结构的限制只能完成简单的数字存储功能。 其后,出现的结构

25、稍复杂的可编程芯片,即可编程逻辑器件(PLD),能够完 成各种数字逻辑功能。典型的 PLD 器件结构如图 21 所示,由一个“与”门和 一个“或”门阵列组成,而任意一个组合逻辑都可以用“与或”表达式来描 述,所以 PLD 能以乘积项和的形式完成大量的组合逻辑功能。 图 21 典型 PLD 器件的部分结构 该阶段的产品主要有可编程阵列逻辑 PAL (Programmable Array Logic)和 通用阵列逻辑 GAL (Generic Array Logic)。PAL 由一个可编程的“与”平面和 一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存 状态。PAL 器件具有现

26、场可编程功能,所采用的工艺有反熔丝工艺、EPROM 工艺 和 EEPROM 工艺。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA), 它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是 可编程的。PLA 器件采用现场可编程或者掩膜可编程方式实现逻辑电路。在 PAL 的基础上,又发展了一种通用阵列逻辑 GAL,如 GAL16V8,GAL22V10 等。它采用 了 EEPROM 工艺,可以用电信号擦除和改写,与 PAL 不同的是,其输出结构是可 编程的逻辑宏单元,用户可以自行定义输出单元的逻辑功能,因而设计具有更 强的灵活性,至今许多成熟器件仍被广泛使用。这些早期 PLD

27、 器件的一个共同 特点是可以实现速度特性较好的逻辑功能,但其集成密度还不够大,引脚数量 也很受限制,由于这些限制使得该类器件只能实现规模较小规模的逻辑电路。 20 世纪 80 年代中期,随着集成电路制造工艺的不断改进,可编程器件厂 商 Altera 和 Xilinx 分别推出了类似于 PAL 结构的扩展型复杂可编程器件 CPLD (Complex Programmab1e Logic Device)和与标准门阵列类似的现场可编程门阵 列 FPGA (Field Programmable Gate Array),这类器件都具有体系结构和逻辑 单元灵活、集成度高以及适用范围广等特点。这两种器件兼容

28、了 PLD 和通用门 阵列的优点,可实现较大规模的逻辑电路,编程也很灵活。同其它专用集成电 路 ASIC 相比,该类器件可以有效的缩短开发周期,降低设计制造成本低并拥有 先进的开发工具支持,另外还具有标准产品无需测试、质量稳定以及可实时在 线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在 10,000 件以下)中。几乎所有应用门阵列、PLD 和中小规模通用数字集成电路的场合均 可应用 FPGA 和 CPLD 器件。 2.22.2 MAX7000MAX7000 系列系列 CPLDCPLD 器件简介器件简介 MAX7000S 是 Altera 公司 CPLD 系列芯片中的重要产品,广

29、泛应用于各种设 计领域,在此系列产品中的设计实现具有一定的代表性。该系列产品具有固定 的片内布线延时,可以减小了 RDL 中门单元的延时离散性,因此本文选择该系 列产品为目标芯片。本文基于 8 位乘法器在 MAX7000S 系列芯片 EPM7128SLC-15 上实现。下面对 MAX7000S 系列 CPLD 芯片的基本结构和功能特点作以介绍。 Altera 公司出品 MAX7000 系列包括 MAX7000、MAX7000S、MAX7000AE 等具 体型号,该系列芯片基于先进的多阵列矩阵(MAX)架构,为大量应用提供了世 界级的高性能解决方案。基于 EEPROM 只读存储器的 MAX700

30、0S 产品采用先进的 CMOS 工艺制造,提供从 32 到 256 个宏单元的密度范围,速度达 3.5 ns 的管脚 到管脚延迟。MAX 7000 器件都支持在系统可编程能力 ISP(In System Programmable) ,可以在现场进行重配置。Altera 提供 5.0V,3.3V 和 2.5V 核 心电压的 MAX 7000 器件,如表 21 所示(其中 tpd 表示设计从输入到非寄存 器输出的最小数据延迟)。 表 21 MAX7000 系列器件集成密度和工作速度 密度(宏单元)MAX7000S MAX7000S (5.0V)(5.0V) MAX7000AE (3.3V) MAX

31、7000B (2.5V) 最快 tpd (ns) 323.5 643.5 1281284.04.0 160 6.0 192 7.5 2565.0 512 5.5 Altera 的 MultiVolt 多电压接口允许设计人员在 MAX 7000 设计中无缝集 成 1.8V、2.5V、3.3V 和 5.0V 逻辑电平,其中 MAX7000S 系列器件核心工作电 压为 5V,管脚电压兼容 3.3V 和 5V。MAX 7000 器件具有即用性,非易失性的特 点,提供全局时钟,在系统可编程,漏极开路输出,可编程上电状态,快速输 入建立时间和可编程输出回转速率控制特性,使得 MAX 7000 器件适用于大

32、量系 统级的应用。 MAX7000S 系列器件的技术性能指标性如下: (1) 高密度:可用等效逻辑门最大为 5000 门,宏逻辑单元最多可达到 256 个。 (2) 高速度:MAX7000S 系列器件的系统工作速度 180MHz,设计从输入到非寄存 器输出的最小数据延迟为 4ns。 (3) 在系统可编程:MAX7000S 系列器件支持 IEEE.1149.1 边界扫描测试标准。 在 MAX7000S 系列器件结构中主要包括 LAB(Logic Array Block) 、宏单元 (Macro-cells) 、扩展乘机项 EPT(Expander Product Terms) 、可编程连线 阵列

33、 PIA(Programmable Interconnect Array)和 IO 控制块(IO Control Block) 。除此之外,MAX7000S 系列内部结构中还包括全局时钟输入和全局时钟 输出使能的控制线,可以作为一般的输入端使用。图 22 是 MAX7000S 器件的 内部结构。 图 22 MAX7000S 器件的内部结构 2.2.12.2.1 逻辑阵列块逻辑阵列块 LABLAB(LogicLogic ArrayArray BlockBlock) 逻辑阵列块 LAB 是 MAX7000S 系列器件中最大的逻辑单元,每个逻辑单元阵 列块 LAB 由 16 个宏单元构成,他们与各自

34、相对应的 IO 控制块相连,4 个逻辑 阵列块通过可编程连线阵列 PIA 和全局总线连接在一起。全局总线由所有的专 用输入、IO 引脚和宏单元反馈构成。利用它们来实现不同逻辑阵列块之间的互 连,从而实现更为复杂的逻辑功能。每个逻辑阵列块有下列输入信号: 来自通用逻辑输入的 PIA 的 36 个信号; 用于寄存器辅助功能的全局控制信号; 从 IO 引脚到寄存器的直接输入通道,来实现 MAX7000E 和 MAX7000S 器件的快 速建立时间。 2.2.22.2.2 宏单元宏单元 MacroCellsMacroCells MAX7000S 系列器件的基本逻辑单元称为逻辑宏单元(如图 23 所示)

35、 ,可 以用来实现各种具体的逻辑功能。本文第三章介绍的基于环形延时链的 TDC 电 路设计中,RDL 中的每个基本门单元都是由单独的一个逻辑宏单元来实现,16 个门单元共占用了 16 个逻辑宏单元。宏单元由逻辑阵列、乘积项选择矩阵和可 编程触发器组成,逻辑阵列用来实现组合逻辑函数,每个宏单元提供 5 个乘积 项。通过乘积项选择矩阵实现 5 个乘积项的逻辑函数。或者使这 5 个乘积项作 为宏单元里触发器的辅助输入(清除、置位、时钟和时钟使能) 。每个宏单元的 一个乘积项还可以反馈到逻辑阵列。宏单元中的可编程触发器可以被单独编程 为 D、T、JK 或者 SR 触发器,可编程触发器还可以被旁路掉,用

36、以实现纯组合 逻辑函数。每个可编程触发器的触发脉冲可以从以下三种方式中选择。 全局时钟(Global Clock) ,能够实现最快的时钟控制。 带高电平使能的全局时钟,以实现具有使能控制的触发器,并实现最快的时 钟控制。 来自乘积项的时钟,触发器由来自隐含单元或者 IO 引脚的信号进行时钟控制, 它一般具有较慢的时钟控制。 图 23 MAX7000S 的宏单元图 MAX7000E 和 MAX7000S 系列都由 2 个全局时钟信号 GCLK1,GCLK2。MAX7000E 和 MAX7000S 的 IO 引脚都有一个宏单元寄存器的快速 输入通道,它能够旁路 PIA 和组合逻辑,也允许把触发器作

37、为具有快速建立时 间(2.5ns)的输入寄存器。 2.2.32.2.3 扩展乘积项扩展乘积项 E EPTPT(ExpanderExpander ProductProduct TermsTerms) 尽管大多数逻辑函数可以由每个宏单元的 5 个乘积项来实现,但是对于更 为复杂的逻辑函数,还需要附加乘积项。为了提供所需要的逻辑资源,可以借 用另一个宏单元内部的逻辑资源。MAX7000S 器件允许利用共享和并联扩展乘积 项作为附加的乘积项直接送到同一逻辑阵列块 LAB 的任意宏单元中。利用扩展 项可保证在实现复杂逻辑综合时,尽可能少地占用逻辑资源,从而实现较快的 工作速度。 共享扩展项 共享扩展项就

38、是由每个宏单元提供一个未被使用的乘积项,并将它们反相 后反馈到逻辑阵列块,每个逻辑阵列块区 LAB 有 16 个共享扩展项。图 24 显 示了利用共享扩展项实现多个宏单元之间的连接。 图 24 利用共享扩展项实现多个宏单元之间的连接 每个共享扩展项都可以被逻辑阵列块内的任何一个宏单元或者全部宏单元 使用和共享,以实现更为复杂的逻辑函数。如果某个与项(也叫乘积项 ProductTerm) ,例如 ABC,要在多个逻辑函数中用到,就可以把这个乘积项 反馈到逻辑阵列,共享给多个宏单元使用,此乘积项称为共享扩展乘积项。否 则,许多宏单元就要重复实现该乘积项。采用共享乘积项后系统会增加一个短 暂的延时

39、tSEXP。上图给出了两个宏单元的乘积项逻辑。通过对乘积项选择矩 阵的编程,反相器就可以实现不同宏单元之间的级联,可以实现更为复杂的逻 辑函数。 并联扩展项 一个基本宏单元最多可实现 5 个乘积项之和,因为一个宏单元中只有 5 个 与门,这种规模通常可以满足大部分普通的组合逻辑需求。当所需要的乘积项 超过 5 个时,MAX7000 系列 CPLD 中的用并联扩展乘积项来解决这个问题,即把 一个宏单元的或门输出扩展到 10 个乘积之和,扩展而来的乘积称为并联扩展项。 并联扩展最多允许 3 级共 15 个扩展乘积项,并且,这些乘积项还可以分配到相 邻的宏单元去实现快速复杂的逻辑函数。并联扩展项允许

40、多大 20 个乘积项直接 馈送到宏单元的“或”逻辑,其中其中 5 个乘积项由宏单元本身提供,另外 15 个并联扩展项由逻辑阵列中相邻的宏单元提供。每个逻辑阵列块中由两组宏单 元,每组含有 8 个宏单元。例如,逻辑阵列块中一组宏单元为 18,另一组就 时 916。它们在逻辑阵列块中形成 2 个出借和借用并联扩展项的链。并联扩 展项也会带来附加的延时,扩展级数越多,延时越大。 一个宏单元可以从较小编号的宏单元中借用并联扩展项。例如,宏单元 15 能从宏单元 14 或者宏单元 13 中借用并联扩展项。由 8 个宏单元的每个组,最 小编号的宏单元仅能出借并联扩展项,而最大编号的宏单元仅能借用并联扩展

41、项,宏单元中不用的乘积项可以分配给相邻的宏单元。图 2-5 给出了从相邻宏 单元中借出和借用并联扩展乘积项信号的情况。 图 25 从相邻宏单元中借出和借用并联扩展乘积项信号 2.2.42.2.4 可编程互联阵列可编程互联阵列 PIAPIA(ProgrammableProgrammable InterconnectInterconnect ArrayArray) 通过可编程互联阵列可以把各个逻辑阵列块相互连接起来,实现用户所需 要的具体逻辑功能。该全局总线是可编程的通道,它可以把各种器件中任何信 号源互连起来。 图 26 PIA 的信号连接到逻辑阵列块的方法 图 26 显示了可编程互连阵列 PI

42、A 信号连接到逻辑阵列块 LAB 的方式。EEPROM 单元控制二输入与门单元的一个输入端,驱动逻辑阵列块的可编程连线阵列 PIA 信号是通过对 EEPROM 单元的编程来选通的。 MAX7000S 系列器件的可编程连线阵列 PIA 有固定的延时,消除了信号在金 属连线上传播造成的时间偏移,行延时性能也是可以预测的。本设计中为了减 小 RDL 中延时门单元的延时离散性,采用了该类 CPLD 器件来实现设计,而放弃 了使用 FPGA 器件。 2.2.52.2.5 IOIO 控制块控制块 IOCIOC 每个逻辑阵列块与外部 IO 引脚之间有一个 IO 控制块。IO 控制块允许每个 IO 引脚单独地

43、配置成输入/输出或者双向工作模式。所有 IO 引脚都是一个三态 输出缓冲器,三态缓冲器的使能端受一个全局输出使能信号控制,还可以把使 能信号直接连接到地(GND)或者电源(VCC) 。在 MAX7000S 中每个 IOC 中 6 个 全局输出使能信号,这些信号可以取自 2 个输出使能信号、1 个 IO 引脚的集合 或者 1 个 IO 宏单元信号的集合以及它们的反相信号。图 27 是 MAX7000S 系列 的 IO 控制块的方框图。当三态缓冲器的控制端连接电源 VCC 时,其输出使能有 效;当连接到地 GND 时,其输出为高阻态,但 IO 引脚可作为专用输入引脚。 图 27 MAX7000S

44、系列的 IO 控制块的方框图。 2.32.3 CycloneCyclone 系列系列 FPGAFPGA 器件简介器件简介 Cyclone 系列是 Altera 公司继 ACEX 系列之后推出的一款低成本、高性价 比芯片,之后还有基于 90nm 工艺的 Cyclone II 系列。低成本 FPGA 主要定位在 大量且对成本敏感的设计中,如数字终端、手持设备等27。另外,PC、消费 产品和工业控制领域,FPGA 还不是特别普及,主要原因就是以前其成本相对较 高。随着 FPGA 厂商的工艺改进,制造成本的降低,FPGA 将会被越来越多地接 受。 FPGA 通常采用查找表 LUT(Look-Up Ta

45、ble)结构实现,查找表本质上就是 一个随即存储器 RAM。目前 FPGA 中多使用 4 输入的 LUT,所以每一个 LUT 可以 看成一个有 4 位地址线的 16x1 的 RAM。当用户通过原理图或硬件描述语言完成 逻辑电路设计后,开发软件会自动计算逻辑电路的所有可能的结果,并把结果 写入 RAM,这样每输入一个信号进行逻辑运算就等于输入一个地址进行查表, 找出地址对应的内容输出即可。 LUT 结构很适合 SRAM 工艺生产,故目前大部分 FPGA 都基于 SRAM 工艺制造, 这类种芯片在掉电后信息会丢失,需要外加专用配置芯片,在系统上电时,由 专用配置芯片把数据加载到 FPGA 后,FP

46、GA 芯片开始正常工作;配置所需的时 间很短,不会影响系统正常工作。 Cyclone 系列器件采用 0.13um 的制造工艺,内部主要有逻辑阵列块 LAB、IO 单元、嵌入式硬件乘法器、锁相环 PLL 和嵌入式存储器 M4K。Cyclone 系列 FPGA 逻辑容量从 29120060 个 LE(Logic Element) ,特性见表 22。 表 22 Cyclone 系列 FPGA 特性: 特性 EP1C3EP1C4EP1C6EP1C6EP1C12EP1C20 LE29104000598059801206020060 M4K RAM131720205264 锁相环 122 222 最大用户

47、 I/O 104301185185249301 Cyclone 器件的平面布局如图 28 所示。 图 28 Cyclone 系列 EP1C12 器件平面布局 器件内部的嵌入式存储器块只有 M4K 一种,可以实现真正的双端口、简单 双端口和单端口的 RAM,同时支持移位寄存器和 ROM 工作模式。第三章中环形 移位寄存器即可通过软件调用宏模块在 M4K 中实现,也可以通过硬件描述语言 实现。 Cyclone 内部有 8 个全局时钟网络,可以由全局时钟管脚 CLK03、复用的 时钟管脚 DPCLK07、锁相环(PLL)或者是内部逻辑来驱动。器件中 PLL 只能 由全局时钟管脚 CLK03 来驱动。

48、CLK0 和 CLK1 可以作为 PLL1 的两个可选时钟 输入端口,也可以作为一对差分 LVDS 的时钟输入管脚,CLK0 作为正输入端 (LVDSCLK1p) ,CLK1 作为负端输入(LVDSCLK1n) 。同样 CLK2 和 CLK3 可以作为 PLL2 的两个可选的时钟输入端,也可以作为一对差分 LVDS 的时钟输入管脚, 详见图 29。 图 29 Cyclone 器件的全局时钟网络 芯片内部的锁相环 PLL 结构如图 210 所示。一个 PLL 的输出可以驱动两 个内部全局时钟网络和一个 IO 管脚。Cyclone 的 PLL 支持 3 种反馈模式,正常 反馈模式、0 延时驱动器反

49、馈模式、无补偿模式。由于没有外部反馈引脚,所 以不支持外部反馈模式。 正常反馈模式:在该模式下,内部被补偿的时钟网络的末端相位与时钟 输入管脚同相位。 0 延时驱动器反馈模式:在这种模式下,PLL 外部被补偿的时钟专用输出 管脚的相位与时钟输入管脚同相位。这时的 FPGA 内部的 PLL 就好像是一个 0 延 时的锁相环电路。 无补偿模式:这种模式下,反馈电路中没有任何补偿延时电路,内部时 钟和输入时钟的相位关系就由 PLL 的基本特性决定。 图 210 Cyclone 系列 FPGA 内部的锁相环结构 Cyclone 器件支持以下特性:(1)差分和单端 IO 标准;(2)3.3V 64 和

50、32 位, 66 和 33MHz PCI 兼容; (3)JTAG 边界扫描支持;(4)输出驱动的增强控制;(5) 配置时仅需小阻值上拉电阻;(6)摆动(Slew-Rate)控制; (7)三态缓冲;(8)总 线保持电路;(9)用户模式中的可编程上拉电阻;(10)可编程输入输出延时; (11) 支持漏极输出;(12)DQ 和 QQS IO 管脚支持。 Cyclone 器件的 IOE(如图 211 所示)中包含一个双向 IO 缓冲 Buffer 和 3 个寄存器;这三个寄存器分别是输入寄存器,输出寄存器和输出使能寄存 器,可将 IO 管脚配置成输入、输出或者双向模式。在与外部的芯片接口时,使 用 I

51、OE 的触发器可以显著提高设计的输入性能,因为从 IOE 触发器到管脚的延 时要比 LE 中的触发器到管脚的延时小很多。但是如果把输入输出触发器放在 IOE 中,虽然可以提高 IO 性能,但有时会导致从内部逻辑到 IOE 触发器的路径 称为关键路径,反而影响 FPGA 的整体性能,所以 Altera 官方资料建议用户从 整体设计的角度出发,决定是否需要将输入输出触发器放置到 IOE 中。 图 211 Cyclone 系列器件 IOE 的结构图 Cyclone 器件的管脚可以支持单端和差分 LVDS 的接口电平,支持 PCI 总线 标准,其 IOE 内部示意图如图 211 所示。管脚可编程的上拉

52、电阻,可选的 PCI 钳位二极管和总线保持电路。输出驱动器可以驱动电流强度、翻转斜率 (Slew)和漏极开路。当设置为高速 LVDS 接口时,性能可以达到 311Mbit/s, 此时必须注意匹配电路网络的接法,可以参考图 212。 图 212 Cyclone 器件 LVDS 接口的电阻匹配网络 图 212 中,接收端只需在靠近管脚处并联上一个 100 欧姆的电阻;在发 送端需要有一个由 2 个电阻组成的电阻网络,而且要保证它们非常靠近管脚, 必须在 1 英寸以内。Cyclone 内部要实现并串/串并转换,必须用内部逻辑实现。 第三章第三章 基于基于 PLDPLD 的硬件乘法器电路的设计的硬件乘

53、法器电路的设计 3.13.1 8 8 位乘法器设计总体框图位乘法器设计总体框图 (3.13.1 电路的总体框图)电路的总体框图) (1)说明:此电路由五部分组成 (2)它们分别是控制器,锁存器,寄存器,乘法器,加法器。 1 控制器是一个乘法器的控制模块,用来接受实验系统上的连续脉冲。 2 锁存器起锁存的作用,它可以锁存 8 位乘数。 3 移位寄存器起移位的作用,便于被乘数可以逐位移出。 4 乘法器功能类似一个特殊的与非门。 5 加法器用于 8 位乘数和高 8 位相加。 3.1.13.1.1 设计思路设计思路 纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实 现 宽位乘法器,

54、基于 PLD 器件外接 ROM 九九表的乘法器则无法构成单片系统,也 不 实用。这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有 一 定的实用价值,而且由 FPGA 构成实验系统后,可以很容易的用 ASIC 大型集成 芯 片来完成,性价比高,可操作性强。其乘法原理是:乘法通过逐项移位相加原 理 来实现,从被乘数的最低位开始,若为 1,则乘数左移后与上一次的和相加; 若 为 0,左移后以全零相加,直至被乘数的最高位。 3.1.23.1.2 方案设计方案设计 此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器 件 是八加法器,所以关键是设计好八位加法器 方案一:八位

55、直接宽位加法器,它的速度较快,但十分耗费硬件资源,对于工 业 化设计是不合理的 方案二:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并 行 加法器它的原理简单,资源利用率和进位速度方面都比较好。综合各方面的考 虑,决定采用方案二。 3.23.2 选择器件与功能模块选择器件与功能模块 3.2.13.2.1 选择器件选择器件 SREG8B(移位寄存器); REG16B(16 位琐存器); ARICTL(运算控制器) ; ANDARITH(1 位乘法器); ADDER8B(8 位加法器) ; 数码管(显示结果) 。 (1)SREG8B 的模块图 SREG8B 是一个移位寄存器,SREG

56、8B 有三个输入端,分别是 clk,load,din7.0。 其中 clk 为时钟信号。一个输出端,它是 qb。 (2)REG16B 的模块图 REG16B 是一个 16 位锁存器,REG16B 有三个输入端,它们分别是 clk,clr,d8.0. 其中 clk 为时钟信号。有一个输出端,它是 q15.0. (3)ARICTL 的模块图 ARICTL 是乘法器的控制模块,ARICTL 有两个输入端,它们分别是 clk,start。 有三个输入 端,它们分别是 clkout,rstall,ariend。 (4)ANDARITH 的模块图 ANDARITH 是一个一位乘法器,ANDARITH 有两

57、个输入端。它们分别是 abin,din7.0。有一个输出端,它是 dout7.0。 (5)ADDER8B 的模块图 ADDER8B 是一个 8 位加法器,ADDER8B 有三个输入端,它们分别是 cin,a7.0,b7.0。其中 a7.0为被乘数;b7.0为乘数。有两个输出 端,它们分别是 s7.0,cout。 3.33.3 快速乘法器快速乘法器 VHDLVHDL 源程序源程序 3.3.13.3.1 选通与门模块的源程序选通与门模块的源程序 ANDARITH.VHDANDARITH.VHD library ieee; use ieee.std_logic_1164.all; entity an

58、darith is -选通与门模块 port(abin: in std_logic; -与门开关 din: in std_logic_vector(7 downto 0); -8 位输入 dout: out std_logic vector(7 downto 0); -8 位输出 end andarith; architecture art of andarith is begin process(abin, din) begin for i in 0 to 7 loop -循环,分别完成 8 位与一位控制位的操 作 dout(i)=din(i)and abin; end loop; end

59、process; end art 选通与门模块仿真选通与门模块仿真; 1)打开 MAX+plus II 设计软件。 2)新建文本编辑文件(File/New/Text Edit file),并完成选通与门模块 ANDARITH 的 VHDL 代码的输入,保存文件到某个具体目录下(注意保存文件名必 须与实体名相同,扩展名为 vhd,即 ANDARITH.VHD)。 3)将该子模块文件设为顶层文件(File/Project/Set Project to Current File),打开编译器(MAX+plus II/Complier)进行编译综合。 4)编译综合无误后,创建该子模块的默认符号(Fil

60、e/Creat Default Symbol)。 5)新建波形编辑文件(File/New/Waveform Edit file),添加节点信号(在 Name 下点击鼠标右键选择 Enter Nodes from SNF)并编辑输入信号波形;保 存(File/Save)波形文件(按默认文件名点击 OK 保存) 。 6)打开仿真器(MAX+plus II/Simulator) ,按 Start 按钮开始仿真;按 Open SCF 按钮观察仿真波形。 选通与门模块仿真结果如图 3.3.1.1 所示。 ANDARITH 的模块图 图 3.3.1.1 ANDARITH(选通与门选通与门)的模块 ANDA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论