




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
唐胜艳 基于 VHDL 语言的彩灯控制器设计 第1页 共 29 页 目目 录录 1 引 言.1 1.1 课程设计背景.1 1.2 可编程逻辑器件的应用.4 1.3 可编程逻辑器件的发展方向.5 1.4 EL-ARM-820 型教学实验系统介绍6 2 理论基础.9 2.1 FPGA/CPLD 概述.9 2.2 VHDL 语言概述.11 2.3 MAX PLUS II 概述13 3 彩灯控制器详细设计.16 3.1 设计方案.16 3.2 设计思路.18 3.3 模块设计.18 4 彩灯控制器的仿真24 4.1 控制模块的仿真.24 4.2 检查模块的仿真.24 4.3 循环模块的仿真.25 4.4 时控模块的仿真.25 5 小 结.27 参考文献.28 附录:设计源程序清单.29 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 基于基于 VHDLVHDL 语言的彩灯控制器语言的彩灯控制器 学生姓名:学生姓名:* 指导老师:指导老师:* 摘 要 本课题主要是基于可编程逻辑器件,使用硬件描述语言 VHDL,采用“自顶向 下”的设计方法,编写一个彩灯控制器的芯片,并使用 Max Plus II 软件仿真结果。 本文首先介绍了可编程逻辑器件的发展过程,然后对于编写彩灯控制器相关的理论知 识作了说明,接着主要讲解了彩灯控制器的设计思路与模块划分。把彩灯控制器划分 为两大模块,组合起来实现了彩灯控制及花型变化。最后,使用 Max Plus II 仿真软 件对每个模块和主程序分别进行了结果仿真,并对仿真出来的结果作了分析。 关键词 可编程逻辑器件;数字逻辑系统;硬件描述语言;彩灯控制器 Based on VHDL language of colored lights controller The students name: TangShengYan guide teacher: WuZhiMin Pick to this topic is mainly based on programmable logic devices, use VHDL VHDL, adopting “top-down“ design methods, write a lantern controller chip, and use the Max Plus II software simulation results. This paper first introduced the programmable logic device development process, then write lights controller for the correlative theoretical knowledge, then explains the main explained lights controller design thoughts and module partition. The lights controller divided into two big modules, combined realization with colored lights control and patterns change. Finally, the Max Plus II simulation software for each module and main program were studied respectively, and the simulation results of simulation out results are analyzed. 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 Keywords programmable logic devices;Digital logic system; Hardware description languages; Lights controller 1 1 引引 言言 当今社会是数字化的社会,也是数字集成电路广泛应用的社会,数字电路本身在 不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路发展到超大规 模集成电路(VLSIC)以及许多具有特定功能的专用集成电路。但是,随着微电子技 术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计 师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望 ASIC 的设计周期尽可能 的短,最好是在实验室里就能设计出合适的 ASIC 芯片,并且立即投入实际应用之中, 因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列 (FPGA)和复杂可编程逻辑器件(CPLD)。比较典型的就是 Xilinx 公司的 FPGA 器 件系列和 Altera 公司的 CPLD 器件系列,它们开发较早,占用较大的 PLD 市场。目前, Altera 系列产品在我国使用较多。 VHDL 的全名是 Very High Speed IC Hardware Description Language (极高速集成 电路硬件描述语言)。它是一种应用较为广泛的 HDL 语言,能对范围广泛的各种复杂 的网络(如电路系统、印刷电路板、芯片、逻辑门等)在不同的抽象级加以描述,而 且在整个设计过程中可使用同一种语言。采用 VHDL 作为 HDL 综合设计的优点有: 标准语言,即设计者可在不同的环境(例如 MAX PLUS II)下进行设计;仿真和综合 均可采用同一种语言进行;VHDL 中提供的大量的模块资源,简化了设计者的开发工 作;由 VHDL 描述的源文件既是程序软件又可作为设计的文档。 目前可编程逻辑器件(PLD)已有含单片高达 100000 等效门的器件出现,可实现 复杂的数字系统。当系统规模不太大时,原理图输入方式描述还较适宜,但系统比较 复杂时,它将难以快速有效地建立描述文件。VHDL 语言能方便地进行数字系统描述, 且能使逻辑综合产生更大的设计密度。正是高效 VHDL 技术与高密度 PLD 的结合使用, 大大降低了复杂数字系统的设计难度,提高了工作效率。 本文介绍了 CPLD 与 FPGA 逻辑器件的基本知识和相关的软件MAX PLUS II 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 及硬件编程语言VHDL。主要论述了一个彩灯控制器从设计思路到系统仿真的整个 设计过程。 1.11.1 课程设计背景课程设计背景 随着经济的进一步发展,人们的生活也在飞速改变,各种家用电器和设备正以极 快的速度进入寻常百姓家。彩灯作为一种很重要的商业娱乐生活点缀工具也没有例外 地深入到人们生活的方方面面。 人们正以极大的热情努力的工作并享受由此而带来的种种快乐,彩灯作为装饰的 生活娱乐观赏工具,在满足了人们的视觉娱乐的同时,人们更加注重彩灯的花式、创 意、节能、环保。而作为彩灯设计很重要的一部分彩灯控制方式很是重要。而作 为彩灯控制的各种操作,几乎都反映在灯的明亮和熄灭上,也是可以起到花型变换的 作用。而作为彩灯,它有着很大的作用,无论是节假日还是在平日的夜晚,都是必须 有各种不同的反映的,于是,彩灯控制器的设计是很重要的。而基于传统的机械和纯 电路的控制方式,由于它完全取决于彩灯系统所采用的硬件来保证它的正常工作,而 一旦电路老化或者因为机械振动而引起的接触问题以及机械元件变形而不能及时触发 电路电源开关,这类问题是经常发生,而除了选用更好的硬件系统元件几乎没有别的 可靠的方法来进行避免这类故障的发生,于是,选用智能型的元件来进行系统的设计, 增加系统的稳定性和可控制性是非常必须的。而随着集成电路和计算机技术的飞速发 展,电子设计自动化已经发展成为可以代替设计者完成电子系统设计的重要工具。电 子设计自动化系统包含专用集成电路、数字信号处理和单片机等方向,其中数字专用 集成电路的一个重要分支就是可编程逻辑器件(PLD)。基于 PLD 的电路控制方式是 可靠的和可以预测的控制方式,其安全性很高,属于智能控制的范畴。于是,在彩灯 上实行这种彩灯控制方式是一种变化和进步,增加了彩灯控制的高效性,降低了彩车 的故障率。 PLD(Programmable Logic Device)是可编程逻辑器件的总称,PLD 基本上可以完 成任何数字器件的功能,从高性能 CPI 到简单集成电路,均可以用 PLD 实现。通过传 统的原理图输入,或是硬件语言的描述就可以自由地设计具备某种功能的数字系统: 利用软件仿真功能,可以检验设计的正确性;利用 PLD 的在线修改能力,可以在不必 改动硬件电路的基础上进行修改设计。具备设计时间短,PCB 面积小,系统的可靠性 强等特点。目前,在通信、自动控制、信息处理等诸多领域发挥着重要的作用。 简单介绍可编程逻辑器件的发展历程。 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 自上世纪 60 年代以来,数字集成电路经历了从小规模集成电路(SSI)、中规模 集成电路(MSI)、大规模集成电路(LSI)到超大集成电路(VLSI)的发展过程。期 间,微电子技术迅猛发展,集成电路的集成规模几乎以平均每 12 年翻一番的速度快 速增长。集成电路技术的发展也带来了设计方法的进步,先进的 EDA(电子线路设计 自动化)技术将传统的“自下而上”的设计方法改变为“自上而下”的设计方法,利 用计算机技术,设计者在实验室里就可以设计出合适的 ASIC(专用集成电路)芯片以 满足特定电路的需要。作为 ASIC 的重要分支,可编程逻辑器件即 PLD 因其成本低、 使用灵活、设计周期短、可靠性高且风险小而得到普遍应用,发展非常迅速。 PLD 始于上世纪 70 年代,目前已形成了许多类型的产品,其结构、工艺、集成 度、速度和性能等都在不断提高和改进。一般情况下,我们可按集成度对其分类,详 见图 1.1 所示: 可编程逻辑器件(PLD) 简单 PLD复杂 PLD PROMPLAPALGALCPLDFPGA 图图 1.1 可编程逻辑器件集成度分类可编程逻辑器件集成度分类 最早的 PLD 是 1970 年制成的 PROM(可编程只读存储器),它由固定的与阵列 和可编程的或阵列组成。它采用熔丝工艺编程,只能写一次,不能擦除和重写,图 1.2 为用 PROM 完成的半加器逻辑阵列,其中“”为固定连接,“*”为可编程连接。 其逻辑表达式为: F0=A0A1+A0A1 F=A0A1 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 图图 1.2 用用 PROM 完成的半加器完成的半加器 20 世纪 70 年代中期,出现了可编程逻辑阵列(PLA),它由可编程的与阵列和可 编程的或阵列组成。PLA 解决了 PROM 当输入变量增加时会引起存储容量迅速增加的 问题,但价格较贵,编程复杂,支持 PLA 的开发软件有一定难度,因而没有得到广泛 应用。 20 世纪 70 年代末期美国 MMI 公司率先推出可编程阵列逻辑(PAL),它由可编 程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极工艺制造,器件的工作速 度很高,PAL 的输出结构种类很多,设计灵活,成为第一个得到广泛应用的 PLD。 20 世纪 80 年代初,Lattice 公司发明了通用阵列逻辑(GAL),这是一种可电擦 写、可重复编程并且可设置加密的 PLD。它采用了输出逻辑宏单元(OLMC)的形式 和 E2CMOS 工艺,比 PAL 使用更加灵活,可取代大部分 SSI 和 MSI 数字集成电路。 由于 GAL 是在 PAL 基础上设计的,能与许多种 PAL 器件保持兼容,可直接替代,所 以目前在很多产品上仍有广泛应用。 上述几种可编程逻辑器件由于阵列规模较小,片内寄存器资源不足,不够灵活, 编程不便,目前只有 GAL 在中小规模数字逻辑方面还在应用。而现在的可编程逻辑器 件以大规模、超大规模集成电路工艺制造的 CPLD 和 FPGA 为主。 CPLD 即复杂可编程逻辑器件,目前主要的半导体公司如 Xilinx,Altera,Lattice 和 AMD 等都有各自的 CPLD 产品。作为 CPLD 器件,至少应包含三种结构:可编程 逻辑宏单元,可编程 I/O 单元,可编程内部连线。 1.2 可编程逻辑器件的应用可编程逻辑器件的应用 随着电子技术的高速发展,今天的 CPLD 和 FPGA 器件在集成度、功能和性能 (速度及可靠性)方面已经能够满足大多数场合的使用要求用 CPLD,FPGA 等大规模 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 可编程逻辑器件取代传统的标准集成电路、接口电路和专用集成电路已成为技术发展 的必然趋势。 PLD 在电子技术领域中的应用主要有以下三个方面。 1在微机系统中的应用 CPLD/FPGA 可以取代现有的全部微机接口芯片,实现微机系统中的地址译码、总 线控制、中断及 DMA 控制、DRAM 管理和 I/O 接口电路等功能。利用 CPLD/FPGA 可以把多个微机系统的功能集成在同一块芯片中,即进行所谓的“功能集成”。 2在通信领域中的应用 现代通信系统的发展方向是功能更强、体积更小、速度更快、功耗更低。 CPLD/FPGA 在集成度、功能和速度上的优势正好满足通信系统的这些要求。所以现在 无论是民用的转弯动电话、程控交换机、集群电台、广播发射机和调制解调器,还是 军用的雷达设备、图像处理设计、遥控遥测设备、加密通信机都已广泛地使用大规模 可编程逻辑器件。 3在数字信号处理技术(DSP)领域中的应用 DSP 在很多领域内具有广泛的用途,如雷达、图像处理、数据压缩、数字电视和 数字通信机等。随着 DSP 系统复杂程度和功能要求的提高,用 DSP 解决方案愈现出其 缺陷性:实时性不强、灵活性太差,不适合在实验室或技术开发等场合使用等。现在, CPLD/FPGA 为 DS 提供了解决问题的方案,CPLD/FPGA 和 DSP 的技术结合,能够在 集成度、速度(实时性)和系统功能方面满足 DSP 的需要。应用 CPLD/FPGA 设计 DSP 系统可以减少系统体积,提高系统的工作速度。例如,用 FPGA 可以将一块 PC 机长卡大小的图像处理板缩小到一块 FPGA 芯片和几片外围电路上。 可编程逻辑器件是逻辑器件家族中发展最快的一类器件,可编程逻辑器件的出现 使得其产品开发周期缩短、现场灵活性好、开发风险变小,随着工艺、技术及市场的 不断发展,PLD 产品的价格将越来越便宜、集成度越来越高、速度越来越快,再加上 其设计开发采用符合国际标准的、功能强大的通用性 EDA 工具,可编程逻辑器件的应 用前景将愈来愈广阔,CPLD/FPGA 以其不可替代的地位,将越来越受到业内人士的关 注。 PLD 在 ASIC 设计中也存在着广泛的应用。 可编程逻辑器件是在 ASIC(专用型集成电路 application specific integrated circuit) 设计的基础上发展起来的,在 ASIC 设计方法中,通常采用全定制和半定制电路设计方 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 法,设计完成后如果不能满足要求,就得重新设计再进行验证这样就使得设计开发周 期变长,产品上市时间难以保证,大大增加了产品的开发费用。CPLD/FPGA 芯片是特 殊的 ASIC 芯片,它们除具有 ASIC 的特点之外,还具有自身的优势。 目前,ASIC 的容量越来越大,密度已达到平均每平方英寸 1 百万个门电路。但随 着密度的不断提高,芯片则受到引脚的限制,片上芯片虽然很多,但接入内核的引脚 数目却是有限的。而选用 CPLD/FPGA 则不存在这样的限制,因为现在可达到的金属 层数目增强了产品的优势,CPLD/FPGA 芯片的规模越来越大,其单片逻辑门数已达到 上百万门,实现的功能也越来越强,同时可以实现系统集成。另外,与 ASIC 相比,可 编程逻辑器件研制周期较短,先期开发费用较低,也没有最少订购数量的限制,所有 这一切简化了库存管理。随着每个门电路成本的降低和每个器件中门电路数量的增加, 可编程逻辑器件正在大举打入传统的门阵列领域,并已有少量的打入了标准单元 ASIC 的领域。 1.3 可编程逻辑器件的发展方向可编程逻辑器件的发展方向 Altera 以 MAX CPLD 确定了全新的发展方向“最大的复杂可编程逻辑器件 (CPLD)供应商。Altera 公司日前发布了新款 MAX 器件系列,这是业界最低的 CPLD,MAX 系列的核心是新的体系结构,它大大地降低了成本和功耗 Altera 在近十 五年 PLD 的领导地位和创新的基础上,推出了业界成本最低的 CPLD。MAX 器件的成 本是 CPLD 的一半,它采用了新的查找表(LUT)体系,因此每个 I/O 管脚的成本是 市面上最低的,而且开创了 CPLD 体系的新纪元 Altera 摒弃了传统的宏单元体系采用 了查找表(LUT)结构满足 CPLD 设计者的需求“基于 LUT 的体系采用 TSMC 的 0.18Lm 嵌入 Flash 工艺,使其裸片尺寸是同样工艺下竞争器件的四分之一,大大减小 的裸片尺寸使得成本比上一代 MAX 降低了 50%。新的体系采用了为其优化的交错环 形 I/O 管脚,进一步降低了成本,这样公司的产品将具有更大的成本优势 MAX 系列和 上一代 MAX 产品相比,成本降低了一半,功耗只有其十分之一,同时保持 MAX 系列 原有的即用性、单芯片、非易失性和易用性,MAX 器件系列采用 TSM 成本优化的 1.8V,0.18Lm 以及六层金属 Flash 工艺,而且新的系列容量翻了两番,性能是上一代 MAXCPLD 的两倍多采用 MAX 器件,大批量消费类、通信、工业和计算设计的工程 师能够用 MAX 器件替代更昂贵和不够灵活的小型 ASIC 和 ASSP。 ” 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第8页 共 29 页 2 理论基础理论基础 2.1 FPGA/CPLD 概述概述 随着数字集成电路的不断更新和换代,特别是可编程逻辑器件的出现,使得传统 的数字系统设计方法发生了根本的改变。可编程逻辑器件的灵活性使得硬件系统设计 师在实验室里用一台计算机、一套相应的 EDA 软件和可编程逻辑芯片就可以完成数字 系统设计与生产,而其中应用最广泛的可编程逻辑器件当属 FPGA 和 CPLD。 FPGA 和 CPLD 都是可编程逻辑器件,它们是在 PAL、CAL 等逻辑器件的基础上 发展起来的。同以往的 PAL、CAL 等比较,FPGA/CPLD 的规模更大,它可以替代几 十甚至几千块通用 IC 芯片。这样的 FPGA/CPLD 实际上就是一个子系统部件,因此它 受到了世界范围内电子工程设计人员的广泛关注和普遍欢迎。 FPGA 是新一代面向用户的可编程逻辑器件它的功能密度远远超过其他 PLD 器件, 一块 FPGA 可以替代(100-200)片标准器件或者(20-40)片 GAL 器件,其 I/O 引脚 数多达 100 余条。所以一片 FPGA 芯片可以替代多个逻辑功能复杂的逻辑部件,或 者一个小型数字系统。自 FPGA 问世以来,它已在许多领域获得了广泛的应用。 逻辑单元型结构(LCA,Logic Cell Array)的 FPGA 由三部分组成,即逻辑单元 阵列 CLB(configurable logic block) 、I/O 单元、互联资源。这种类型结构的特点是通 过对 CLB 编程实现逻辑功能;通过对 I/O 单元编程确定输入或输出结构;通过对互联 资源编程实现 CLB 之间、CLB 与 I/O 单元之间、I/O 单元之间的互联关系,从而实现 用户所需要的逻辑功能。PAL 结构扩展型 FPGA 则是在 PLA 基础上加以改进和扩展, 大幅度增加了寄存器数量和 I/O 引脚数,增设了可编程互联资源,改善了互联模式, 改进了阵列结构使得芯片的利用率大大提高。 CPLD 器件的结构是一种与阵列可编程、或阵列固定的与或阵列形式。 PAL、GAL 都采用这种形式,但 CPLD 同它们相比,增加了内部连线对逻辑宏单元和 I/O 单元也有重大改进。一般情况下,CPLD 器件中包含三种结构:可编程逻辑宏单元、 可编程 I/O 单元、可编程内部连线。部分 CPLD 器件内还集成了 RAM、FIFO 或双口 RAM 等存储器,以适应 DSP 应用设计的要求。 CPLD 器件具有同 FPGA 器件相似的集成度和易用性,在速度上还有一定的优势, 因此,在可编程逻辑器件技术的竞争中它与 FPGA 并驾齐驱,成为两支领导可编程器 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 件技术发展的力量之一。 FPGA/CPLD 之间存在一些区别,主要有如下几方面。 CPLD 与 FPGA 在价格、性能、逻辑规模和封装(包括 EDA 软件性能)等方面各 有千秋,面对不同的开发项目,使用者应该作出最佳的选择,表 2-1 是对 CPLD/FPGA 在各个方面的比较。 表表 2-1 CPLD 与与 FPGA 的区别的区别 器件 比较点 FPGACPLD 结构工艺SRAMEPROM 或 FLASH 基本结构LUT 查找表乘积项 PinPin 时延 不定确定 配算存储器需外挂 ROM不需 保密注论无保密性可加密 工作电压3.3V 或 2.5V5V 编程工艺 通过PC 机并行口或专用编 程器或单片机进行配置 ISP 在线编程 应用 主要针对要求不是很高,设 计逻辑较复杂的系统,适合 于完成时序较多的逻辑电路 主要针对速度要求高,但设 计逻辑又不是很复杂的系统, 适合于完成算术和组合逻辑 FPGA/CPLD 的特点主要有如下几方面: 1CPLD/FPGA 具有用户可编程的特性。利用 CPLD/FPGA,电子系统设计工程师 可以在实验室中设计出专用集成芯片,实现系统集成。缩短了产品的开发、上市时间, 降低了开发成本。 2CPLD/FPGA.具有静态可重复编程或在线动态重构特性,使硬件的功能可象软 件一样通过编程来修改。不仅使设计修改和产品升级变得十分方便,而且极大地提高 了电子系统的灵活性和通用能力。 3固定长度的金属线进行各逻辑块的互连使得设计的逻辑电路具有时间可预测性, 避免了分段式互连结构时序不完全的预测。 4FPGA/CPLD.芯片在出厂之前都做过百分之百的测试,不需要设计人员承担风 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 险和费用,只需在自己的实验室里通过在相关的软、硬件环境下完成芯片的最终功能。 其投资小,并可以节省许多潜在的花费。 5FPGA/CPLD.能以最快的速度占领市场。设计人员可以反复编程、擦除、使用, 或者在外围电路不动的情况下用不同软件实现不同的功能。 6设计师不可或缺的重要手段IP 核。它将一些在数字电路中常用,但比较复 杂的功能块,如 FIR 滤波器,SDRAM 控制器、PCI 接口等设计成可以修改参数的模块, 让其他用户能够直接调用这些模块,从而大大减轻了工程师的负担,避免了重复劳动。 2.2 VHDL 语言概述语言概述 电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的 硬件电路。VHDL 硬件描述语言在电子设计自动化中扮演着重要的角色,他是 EDA 技术研究的重点之一。 硬件描述语言是 EDA 技术的重要组成部分,VHDL 是作为电子设计主流硬件描 述语言,VHDL(Very High Speed Integrated Circuit Hardware Description Language)于 1983 年由美国国防部发起创建,由 IEEE 进一步发展并在 1987 年作为 IEEE 标准 10760 发布。因此,VHDL 成为硬件描述语言的业界标准之一。VHDL 作为 IEEE 的工 业标准硬件描述语言,得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的 通用硬件描述语言。VHDL 语言具有很强的电路描述和建模能力,能从多个层次对数 字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性, 使用 VHDL 语言,可以就系统的总体要求出发,自上而下地将设计内容细化,最后完 成系统硬件的整体设计。一个完整的 VHDL 程序包括以下几个基本组成部分:实体 (Entity) ,结构体(Architecture) ,程序包(Package) ,库(Library) 。其中,实体是一 个 VHDL 程序的基本单元,由实体说明和结构体两部分组成,实体说明用于描述设计 系统的外部接口信号;结构体用于描述系统的行为,系统数据的流程或系统组织结构 形式。程序包存放各设计模块能共享的数据类型,常数,子程序等。库用于存放已编 译的实体,机构体,程序包及配置。 VHDL 语言的编译环境有不同的版本,我们应用的是 Altera 公司的 Maxplus 软件, 它的操作顺序如下:使用 TEXTEDITOR 编写 VHDL 程序使用 COMPILER 编译 VHDL 程序;使用 WAVE2FORMEDITOR,SIMULAROT 仿真实验;使用 TIMINGANALTZER 进行芯片的时序分析;用 FLOORPLANEDITOR 锁定芯片管脚位 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 置;使用 PROGRAMMER 将编译好的 VHDL 程序下载到芯片中。 VHDL 进行工程设计的优点是显而易见的。 1与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了他 成为系统设计领域最佳的硬件描述语言。 2VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计 系统的功能可行性,随时可对设计进行仿真模拟。 3VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和 已有设计的再利用功能。符合市场需求的大规模系统高效、高速地完成必须有多人甚 至多个代发组共同并行工作才能实现。 4对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和 优化,并自动的将 VHDL 描述设计转变成门级网表。 5VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管 理最终设计实现的目标器件是什么,而进行独立的设计。 6用 VHDL 语言编写的源程序便于文档管理,用源代码描述来进行复杂控制逻 辑的设计,既灵活方便,又便于设计结果的交流、保存和重用。 在 VHDL 语言中,状态机有两种:莫尔型和米勒型。 莫尔型状态机的输出仅是状态向量的函数,输出信号只和状态机所处的状态有关。 图 2.1 如下: CLKOUTPUTS INPUTS RES 组合逻辑 1 寄存器 组合逻辑 2 图图 2.1 莫尔型状态机模型莫尔型状态机模型 米勒型状态机的输出变化要领先一个时钟周期,它的输出既和当前状态有关,又 和所有输入信号有关。换句话说,在米勒型状态机中一旦输入信号发生变化或者状态 发生变化,输出新好多将随之发生变化。图 2.2 如下: 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 OUTPUTS CLK RES INPUTS 组合逻辑 1 寄存器 图图 2.2 米勒型状态机模型米勒型状态机模型 由于本设计的状态变化与输入信号有关,所以采用米勒型状态机。较好的解决了 五种状态(复位状态,测试状态,设置状态,烹调状态,完成状态)之间的转化。程 序中,首先使控制器处于复位状态,此时把所有信号清零,再根据输入信号转换状态。 综上所述,VHDL 语言的极强的行为描述能力和丰富的仿真语句及库函数,决定 了它具有支持大规模设计的分析和已有设计的再利用功能 5 和功能 6,用 VHDL 完成 一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动把 VHDL 描述设 计转变成门级网表。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间 和可能发生的错误,降低了开发成本。 2.3 Max Plus II 概述概述 Max Plus II 是美国 Altera 公司开发的软件,它具有操作系统的程序界面,采用全 菜单操作和鼠标操作方式,是一个完全集成化,易学易用的可编程逻辑设计环境。它 提供了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于 各种需要的元件库,其中包含基本逻辑元件库(如与非门、反向器、触发器等) ,宏功 能元件(包含了几乎所有 74 系列的器件)以及功能强大、性能良好的类似于核的兆功 能块库,但更为重要的是它提供了使用方便,精度良好的时序仿真器,能够对系统中 任一元件的功能进行精确的时序仿真,精度达 0.1ns,非常准确。 Max Plus II 开发系统是一个完全集成化、易学易用的可编程逻辑器件设计和开发 系统,它提供了一种真正与结构无关的可编程逻辑设计环境。它所提供的灵活性和高 效性是无可比拟的,其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使 设计人员能够轻松、愉快地掌握和使用 Max Plus II 软件。Max Plus II 支持灵活多样的 输入方式:原理图输入、硬件描述语言输入、波形输入,以及层次设计输入。 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 Max Plus II 的设计输入、处理和校验功能全部集成在统一的开发环境下,这样可 以加快动态调试进程。它提供丰富的库单元供设计者使用,包括 74 系列的全部器件、 多种特殊的逻辑宏功能(macro-function)和参数化功能模块(LPM: Library of Parameterized Modules) ,但更为重要的是 Max Plus II 还提供了原理图输入多层次设计 功能,使得用户能设计更大规模的电路系统,以及使用方便、精度良好的时序仿真器。 与传统的数字电路实验相比,Max Plus II 提供灵活多样的层次化输入设计功能,具有 显著的优势: 1能进行任意层次的数字系统设计。传统的数字电路实验只能完成单一层次的设 计,使设计者无法了解和实现多层次的硬件数字系统设计; 2对系统中的任一层次或任一元件的功能进行精确的时序仿真,精度达 0.1ns, 因此能发现对系统可能产生不良影响的竞争冒险现象; 3通过时序仿真,能迅速定位电路系统的错误所在,并随时纠正; 4能对设计方案进行随时更改,并储存设计过程中所有的电路和测试文件入档; 5通过编译和下载,能在 FPGA 或 CPLD 上对设计项目随时进行硬件测试验证; 6如果使用 FPGA 和配置编程方式,将不会有器件损坏和损耗问题; 7符合现代电子设计技术规范。传统的数字电路实验利用手工连线的方法完成元 件连接,容易对学习者产生误导,以为只要将元件间的引脚用引线按电路图连上即可, 而不必顾及引线长短,粗细弯曲方式,可能产生的分布电感和电容效应,以及电磁兼 容性等等十分重要的问题。 Max Plus II 还提供设计校验的仿真器,其中包括功能仿真和时序仿真。仿真器的 灵活性很强电路设计完成后,需要验证电路设计的逻辑功能是否正确。这是一项简单 的逻辑检查,可采用功能仿真,这对于初步的逻辑功能检测非常方便。功能检查完成 后,可进行时序仿真。Max Plus II 的时序分析程序可以计算点到点的器件延时,确定 器件引脚上的建立时间和保持时间要求,还可计算最高时钟频率。 用 Max Plus II 软件进行逻辑设计的步骤包括: 1根据所选课题的任务和设计指标要求,确定总体设计方案,画出总体方案的系 统框图(亦称预设计阶段) 2进行底层单元电路分析及输入设计、编译、仿真; 3利用已编译正确的底层单元电路模块,画出顶层电路的原理图 ,进行编译调 试和仿真测试; 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 4撰写设计报告。 Max Plus II 的设计流程可以用如下图 2.3 给出。 图形成 VHDL 编 辑器 编译 网表 提取 数据 库建 立 逻辑 综合 逻辑 分割 匹配延时 网表 提取 编辑 文件 汇编 编辑 器 图图 2.3Max Plus II 设计流程设计流程 从图 2.3 可清晰了解到 Max Plus II 提供了一种与结构无关的设计环境,使设计者 能方便地进行设计输入、快速处理和器件编程。他包括设计输入编辑、编译网表提取、 数据库建立、逻辑综合、逻辑分割、适配、延时网表提取、编辑文件汇编以及编程下 载 9 个步骤。 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第15页 共 29 页 1 设计说明书 6 逻辑综合2 建立 VHDL 行为模块型 7 测试向量生成 3 VHDL 行为仿真 8 功能仿真4 VHDL-RTL 级建模 5 前端功能仿真 设计完成 11 硬件测试 9 结构综合 10 门级时序仿真 3 彩灯控制器彩灯控制器详细设计详细设计 在经济和商业高度发达的今天,彩灯已成为人民日常生活不可或缺的一部分,已经 逐渐为越来越多的人们所关注,在家庭中的普及率不断提高,大大的丰富和点缀了我 们的生活。彩灯由不同颜色的 LED 灯组成,通过控制不同颜色灯的亮与灭,呈现给人 们不同的花型和图案,极大的点缀了单调的都市夜景,让城市成为了多姿多彩的不夜 城。.本文采用 EDA 技术,利用 Max Plus II 工作平台和 VHDL 设计语言,设计了一 种彩灯控制器芯片,该芯片具有控制和实现彩灯花型变化的功能。 3.1 设计方案设计方案 应用 VHDL 进行自顶向下的设计,是采用可完全独立于目标器件芯片物理结构的 硬件描述语言。就是使用 VHDL 模型在所有综合级别上对硬件设计进行说明、建模和 仿真 测试。其设计流程如图 3.1 所示: 图图 3.1 VHDL 自顶向下自顶向下设计流程设计流程 基于可编程逻辑器件 CPLD/FPGA 的芯片,使用硬件描述语言(VHDL)设计一 个彩灯控制器芯片,并进行计算机仿真和编程下载。要求该彩灯控制器芯片能够实现 如下功能: 1自动检查功能:在彩灯整个工作的过程中,在任一状态的任一时刻,检查彩灯 自身是否处于正常状态,各彩灯是否良好,正常亮与灭。 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 2控制功能:当启动开关时,彩灯有规律闪烁,显示预设的花型和图案。 3循环功能:当执行到程序的最后时,能跳转到起始程序,不断循环更替,直到 关闭开关方停止运行。 4时控功能:在设定的时间段,如春冬 18:30-6:00 自动亮,其他时间自动灭; 夏秋 19:00-7:00 自动亮,其他时间自动灭。这样就可以方便操作了。 根据以上设计要求,绘制出彩灯控制器外部框图如下图 3.2 所示: 图图 3.2 彩灯控制器外部框图彩灯控制器外部框图 该框图的实现功能如下: CLK 是任意频率的脉冲, 经过分频电路后变成秒脉冲输入,作为时钟信号使用。 JIACHA 为检查控制信号,高电平有效,用于检查彩灯自身是否处于正常状态, 各彩灯是否良好,能否正常亮与灭。 REMOVE 为循环控制信号,高电平有效,用于提示新一轮花型的接替变换。 CHUNDONG 是春冬时间控制信号,高电平有效。用于彩灯季节的自动开关时间 调整。 XIAQIU 是夏秋时间控制信号,高电平有效。用于彩灯夏秋季的自动开关时间调 整。 LIGHT 是输出显示信号,高电平有效,用于显示不同控制情况下彩灯的显示状态。 该彩灯控制器的具体工作过程是: 1初始状态时,各彩灯处于低电平状态,CLK 信号作为时钟信号起到频率间隔 作用,当彩灯启动时若是某处彩灯出现故障,比如彩灯烧坏或是某处电路出现问题时, 检查灯 CH 将会亮,成警报状态; 2当彩灯运行中,彩灯呈现设计的花型; 3当彩灯运行后,彩灯按花型不断循环; 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 4当季节改变时,彩灯亮与灭的时间段发生改变。 电瓶高低状态在波形仿真中用于验证程序是否正常运行,彩灯有无正常工作。 3.2 设计思路设计思路 根据该彩灯控制器的功能要求,现划分为以下 4 个模块: 1控制模块 2检查模块 3循环模块 4时控模块 每个模块各自控制相应彩灯的亮灭,控制模块进行总体控制,彩灯的运行状态表 如下表 3-1 所示。 表表 3-1 彩灯控制器和彩灯运行状态表彩灯控制器和彩灯运行状态表 彩灯控制器 彩灯运行状态 正常运行 花型 1: 花型 2: 花型 3: 花型 4: 花型 5: 花型 6: 花型 7: 花型 8: 出现故障灯灭或花型不规则不完整 电路异常CH 检查灯亮 季节变化相应的季节指示灯亮 在每个模块中,程序中的控制信号表示如下: TOP_CLK 是脉冲控制输入信号。 TOP_JIANCHA 是检查控制输入信号,高电平有效。 TOP_REMOVE 是刹车控制输入信号,高电平有效。 TOP_CHUNDONG 是春冬季节控制输入信号 ,高电平有效。 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 TOP_XIAQIU 是夏秋季节控制输入信号,高电平有效。 TOP_LIGHT150是彩灯显示输出信号,高电平有效。 3.3 模块设计模块设计 控制模块的主要作用在于协调以上四个模块的正确调度与工作。控制模块的主要 作用如下图 3.3 所示 春冬控制信号夏秋控制信号 主控选择模块 左侧灯选择控制模块右侧灯选择控制模块检查模块 CHR 循环控制信号检查控制信号 L 图图 3.3 控制模块作用图控制模块作用图 控制模块的主要代码如下: begin if top_youyi=1 then t if zy=1 then light1 if zy=1 then light1light1 if yy=1 then light1 if yy=1 then light1light1=“001“;next_state=s0 ; end case; end process; light(5)=0; light(4)=0; light(3)=0; light(2)=light1(2); light(1)=light1(1); light(0)=light1(0); synch: process(clk) begin if(clkevent and clk=1) then current_state=next_state; end if; end process; end behave; 控制模块的程序控制模块的程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_signed.all; entity contro is port( top_clk : in std_logic; 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 34 top_jiache : in std_logic; top_shche : in std_logic; top_zuoyi : in std_logic; top_youyi : in std_logic; top_light : out std_logic_vector(5 downto 0); end contro; architecture behave of contro is component youyi port( clk,yy : in std_logic; light : out std_logic_vector(5 downto 0); end component; component zuoyi port( clk,zy : in std_logic; light : out std_logic_vector(5 downto 0); end component; component jiancha port(jiache,clk: in std_logic; light: out std_logic_vector(5 downto 0); end component; component shache port(shche,clk: in std_logic; light: out std_logic_vector(5 downto 0); end component; signal l1,l2,l3,l4 : std_logic_vector(5 downto 0); signal t: std_logic_vector(5 downto 0); begin process begin if top_youyi=1 then t=l1; 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 35 elsif top_zuoyi=1 then t=l2; elsif top_jiache=1 then t=l3; elsif top_shche=1 then t=l4; else t=“000000“; end if; end process; u1: youyi port map(top_clk,top_youyi,l1); u2: zuoyi port map(top_clk,top_zuoyi,l2); u3: jiancha port map(top_jiache,top_clk,l3); u4: shache port map(top_shche,top_clk,l4); top_light=t; end behave; 唐胜艳 基于 VHDL 语言的彩灯控制器设计 第23页 共 29 页 14 大学本科生毕业设计(论文)撰写规范 本科生毕业设计(论文)是学生在毕业前提交的一份具有一定研究价值和实用 价值的学术资料。它既是本科学生开始从事工程设计、科学实验和科学研究的初步 尝试,也是学生在教师的指导下,对所进行研究的适当表述,还是学生毕业及学位 资格认定的重要依据。毕业论文撰写是本科生培养过程中的基本训练环节之一,应 符合国家及各专业部门制定的有关标准,符合汉语语法规范。指导教师应加强指导, 严格把关。 1、论文结构及要求 论文包括题目、中文摘要、外文摘要、目录、正文、参考文献、致谢和附录等 几部分。 1.1 题目 论文题目应恰当、准确地反映论文的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业员工日常生活礼仪培训课件
- 完形填空-夹叙夹议文(复习讲义)-2026年高考英语一轮复习原卷版
- 听听洞里是什么动物互动游戏
- 大客户销售与管理010大客户市场营销
- 实验操作叙述型的分析与判断(含解析)-2026届高中化学一轮复习讲义
- CN120204406A 抑制或检测外泌体miR3150a5p表达试剂的应用以及鼻咽癌转移治疗药物和预后制剂
- 人工智能通识教程(微课版) 课件 05人工智能技术的突破-大语言模型技术
- 数据的分析-2023学年八年级数学上学期期末复习汇编(北师大版)原卷版
- 老君炉药业产品培训知识课件
- 老人膳食营养学知识培训课件
- 初中道德与法治教研组工作计划
- 企业级IPv6网络改造及升级服务合同
- 巨人通力电梯NOVA GKE调试说明书故障代码GPN15 GVN15-GKE - 51668093D01-2022
- 《立在地球边上放号》《峨日朵雪峰》联读课件32张高中语文必修上册
- 家具厂封边技能培训
- 重点群体人员本年度实际工作时间表
- DBJ50-T-386-2021 建筑施工现场扬尘控制标准
- 《美丽中国是我家》-教学设计
- 实验动物微生物学和寄生虫学质量控制课件
- 云南省学校食堂“六T”实务管理验收评分标准(2021版)
- 复变函数与积分变换课件
评论
0/150
提交评论