《CPLDFPGA课程设计-基于Verilog-HDL的彩灯控制器.doc》由会员分享,可在线阅读,更多相关《CPLDFPGA课程设计-基于Verilog-HDL的彩灯控制器.doc(33页珍藏版)》请在金锄头文库上搜索。
1、物联网工程112班,姓名 周浩杰(CPLD/FPGA课程设计)CPLD/FPGA课程设计项目名称 基于FPGA的彩灯控制 专业班级 物联网工程132班 学生学号 2013133043 学生姓名 指导教师 2016年 6 月15 日摘 要本课程设计提出基于FPGA的彩灯控制器的设计与分析,设计由分频器模块,数据选择器模块,彩灯控制模块组成,基本原理是通过分频器产生不同频率时钟信号,表示彩灯显示的快慢,然后通过数据选择器进行选择,进而通过彩灯花型控制器显示不同种类的彩灯花型。本设计运用运用Verilog HDL语言在Modelsim软件上进行了实验程序的编译和波形的仿真,具有代码简单易懂,功能易实
2、现的特点,通过不断地调试和代码的多次完善,最终实现完整的彩灯控制器,达到了自主设计逻辑电路的水平。关键词:彩灯控制; Verilog HDL语言;Modelsim软件 III物联网工程132班,许潇洒 彩灯控制器的设计(CPLD/FPGA课程设计)AbstractThe curriculum design is proposed based on FPGA octal lantern controller design and analysis, design by the frequency divider module, data selector module lantern contr
3、ol module, the basic principle is through a frequency divider generated clock signal with different frequency and express the lantern display of speed, then through the data selector, and then through the lantern flower type controller display lights in different kinds of flowers. This design by usi
4、ng Verilog HDL language in the Modelsim software of experimental program compiling and waveform simulation, with easy to understand code, function is easy to realize the characteristics by continuous debugging and code improved several times, and ultimately complete the lantern controller, up to the
5、 level of the independent design of logic circuit.摘要和目录统一编页码:为,Keywords: The lantern controller; Verilog HDL language ; The Modelsim softwareIV目 录摘 要IAbstractII第一章 绪论11.1 课题背景11.2 彩灯控制的实际研究意义3第二章 彩灯控制相关模块的设计以及原理42.1 总体设计42.1.1 方案比较42.1.2 方案论述52.1.3 方案选择52.2 相关模块52.2.1 时钟信号模块52.2.2 节拍快慢控制模块62.2.3 彩灯控
6、花型控制模块6第三章 彩灯控制的软件程序设计83.1 Modelsim软件介绍83.2 彩灯控制程序设计93.2.1 分频器程序93.2.2 数据选择器程序103.2.3 彩灯花样程序11第四章 仿真调试134.1 仿真过程134.2 仿真结果15结论19参考文献20附 录21致 谢28第一章 绪论1.1 课题背景 1. FPGAFPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部
7、分。FPGA的基本特点主要有:1) 采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。2) 3)FPGA内部有丰富的触发器和IO引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 2. EDA当今社会是数字化的社会,也是数字集成电路广泛应用的社会,数字本身在不断的进行更新换代。它由早起的电子管、晶体管、小中规模集成电路发展到超大规模集成电路
8、以及许多具有特定功能的专用集成电路。而EDA技术就是以微电子技术为物理层面,现代电子设计为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路ASIC为目的的一门新兴技术。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。它以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编
9、译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。EDA技术(即Electronic Design Automation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。他在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC测试和封装、FPGA(Field Programme Gate Array)CP
10、LD(Complex Programme Logic Device)编程下载和自动测试等技术:在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM),计算机辅助测试(CAT),计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。 硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、System Verilog和System C。其中VHDL、Verilog HDL和现在的EDA设计中使用
11、最多,并且我们学习的是Verilog的编程方法及实用技术。 3.Verilog HDLVerilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言。Verilog HDL就是在用途最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨
12、大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了Verilog HDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995。用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把Verilog HDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HD
13、L语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比,VHDL的学习要困难一些。但Verilog HDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意。 下面列出的是 Verilog 硬件描述语言的主要能力: (1)基本逻辑门,例如 and 、 or 和 nand 等都内置在语言中。 (2)用户定义原语( UDP )创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。 (3)开关级基本结构模型,例如 pmos 和 nmos 等也被内置在语言中。 (4)提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。
14、 (5)可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式 使用过程化结构建模;数据流方式 使用连续赋值语句方式建模;结构化方式 使用门和模块实例语句描述建模。 Verilog HDL 中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。能够描述层次设计,可使用模块实例结构描述任何层次。设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。 Verilog HDL 不再是某些公司的专有语言而是 IEEE 标准。 人和机器都可阅读 Verilog 语言,因此它可作为 EDA 的工具和设计者之间的交互语言。 V
15、erilog HDL 语言的描述能力能够通过使用编程语言接口( PLI )机制进一步扩展。 PLI 是允许外部函数访问 Verilog 模块内信息、允许设计者与模拟器交互的例程集合。 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级( RTL )到算法级,包括进程和队列级。能够使用内置开关级原语在开关级对设计完整建模。 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。 Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。 在行为级描述中, Verilog HDL 不仅能