cpldfpga课程设计-基于verilog-hdl的彩灯控制器Word格式.doc
《cpldfpga课程设计-基于verilog-hdl的彩灯控制器Word格式.doc》由会员分享,可在线阅读,更多相关《cpldfpga课程设计-基于verilog-hdl的彩灯控制器Word格式.doc(33页珍藏版)》请在冰豆网上搜索。
![cpldfpga课程设计-基于verilog-hdl的彩灯控制器Word格式.doc](https://file1.bdocx.com/fileroot1/2022-10/4/96f317d9-c258-4807-917e-7012f1142dc3/96f317d9-c258-4807-917e-7012f1142dc31.gif)
关键词:
彩灯控制;
VerilogHDL语言;
Modelsim软件
II
I
物联网工程132班,许潇洒彩灯控制器的设计(CPLD/FPGA课程设计)
Abstract
ThecurriculumdesignisproposedbasedonFPGAoctallanterncontrollerdesignandanalysis,designbythefrequencydividermodule,dataselectormodulelanterncontrolmodule,thebasicprincipleisthroughafrequencydividergeneratedclocksignalwithdifferentfrequencyandexpressthelanterndisplayofspeed,thenthroughthedataselector,andthenthroughthelanternflowertypecontrollerdisplaylightsindifferentkindsofflowers.ThisdesignbyusingVerilogHDLlanguageintheModelsimsoftwareofexperimentalprogramcompilingandwaveformsimulation,witheasytounderstandcode,functioniseasytorealizethecharacteristicsbycontinuousdebuggingandcodeimprovedseveraltimes,andultimatelycompletethelanterncontroller,uptotheleveloftheindependentdesignoflogiccircuit.
摘要和目录统一编页码:
为Ⅰ,Ⅱ,Ⅲ,……
Keywords:
Thelanterncontroller;
VerilogHDLlanguage;
TheModelsimsoftware
IV
目录
摘要 I
Abstract II
第一章绪论 1
1.1课题背景 1
1.2彩灯控制的实际研究意义 3
第二章彩灯控制相关模块的设计以及原理 4
2.1总体设计 4
2.1.1方案比较 4
2.1.2方案论述 5
2.1.3方案选择 5
2.2相关模块 5
2.2.1时钟信号模块 5
2.2.2节拍快慢控制模块 6
2.2.3彩灯控花型控制模块 6
第三章彩灯控制的软件程序设计 8
3.1Modelsim软件介绍 8
3.2彩灯控制程序设计 9
3.2.1分频器程序 9
3.2.2数据选择器程序 10
3.2.3彩灯花样程序 11
第四章仿真调试 13
4.1仿真过程 13
4.2仿真结果 15
结论 19
参考文献 20
附录 21
致谢 28
第一章绪论
1.1课题背景
1.FPGA
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
2)3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
2.EDA
当今社会是数字化的社会,也是数字集成电路广泛应用的社会,数字本身在不断的进行更新换代。
它由早起的电子管、晶体管、小中规模集成电路发展到超大规模集成电路以及许多具有特定功能的专用集成电路。
而EDA技术就是以微电子技术为物理层面,现代电子设计为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路ASIC为目的的一门新兴技术。
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
它以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
EDA技术(即ElectronicDesignAutomation技术)就是依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
他在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC测试和封装、FPGA(FieldProgrammeGateArray)CPLD(ComplexProgrammeLogicDevice)编程下载和自动测试等技术:
在计算机辅助工程方面融合了计算机辅助设计(CAD),计算机辅助制造(CAM),计算机辅助测试(CAT),计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;
而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。
硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有VHDL、VerilogHDL、ABEL、AHDL、SystemVerilog和SystemC。
其中VHDL、VerilogHDL和现在的EDA设计中使用最多,并且我们学习的是Verilog的编程方法及实用技术。
3.VerilogHDL
VerilogHDL是一种硬件描述语言(HDL:
HardwareDiscriptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言。
VerilogHDL就是在用途最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。
1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得VerilogHDL迅速得到推广应用。
1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。
1990年CADENCE公司公开发表了VerilogHDL,并成立LVI组织以促进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995。
用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
VerilogHDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把VerilogHDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。
与之相比,VHDL的学习要困难一些。
但VerilogHDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意。
下面列出的是Verilog硬件描述语言的主要能力:
(1)基本逻辑门,例如and、or和nand等都内置在语言中。
(2)用户定义原语(UDP)创建的灵活性。
用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。
(3)开关级基本结构模型,例如pmos和nmos等也被内置在语言中。
(4)提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。
(5)可采用三种不同方式或混合方式对设计建模。
这些方式包括:
行为描述方式—使用过程化结构建模;
数据流方式—使用连续赋值语句方式建模;
结构化方式—使用门和模块实例语句描述建模。
VerilogHDL中有两类数据类型:
线网数据类型和寄存器数据类型。
线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。
能够描述层次设计,可使用模块实例结构描述任何层次。
设计的规模可以是任意的;
语言不对设计的规模(大小)施加任何限制。
VerilogHDL不再是某些公司的专有语言而是IEEE标准。
人和机器都可阅读Verilog语言,因此它可作为EDA的工具和设计者之间的交互语言。
VerilogHDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。
PLI是允许外部函数访问Verilog模块内信息、允许设计者与模拟器交互的例程集合。
设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级。
能够使用内置开关级原语在开关级对设计完整建模。
同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。
VerilogHDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。
这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。
在行为级描述中,VerilogHDL不仅能