基于VerilogHDL语言的多功能波形发生器设计_第1页
基于VerilogHDL语言的多功能波形发生器设计_第2页
基于VerilogHDL语言的多功能波形发生器设计_第3页
基于VerilogHDL语言的多功能波形发生器设计_第4页
基于VerilogHDL语言的多功能波形发生器设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、基于VerilogHDL语言的多功能波形发生器设计学生姓名:指导教师:摘要:本文要紧探讨了应用EDA灵活可重复编程和方便在系统重构的特性,以VerilogHDL为设计语言,将硬件功能以软件设计来描述,提高了产品的集成度,缩短开发周期。所设计的波形发生器可产生正弦波(sina_wave)、锯齿波(swat_wave)、矩形波(squr_wave)、三角波(trig_wave)四种信号,能够实现信号的转换而且频率可调;设计的频率计以1Hz为基准信号,测量的范围是lHz9999Hz,测量的结果以四位十进制的形式输出。能实现任意波形的输出而且能够测量外来信号的频率,这也是本文的设计思路。关键词:DDS

2、;;VerilogHDL;EDA;Max+PlusII;波形发生器Abstract:ThisarticleexplorestheapplicationofEDAtofacilitateflexibleandreprogrammableandreconstructioninthesystemfeaturestoVerilogHDLdesignlanguage,thehardwarefunctionstosoftwaredesigntodescribeandimproveproductintegration,shortenthedevelopmentcycle.Waveformgeneratord

3、esignedtoproducesinewave(sina_wave),ramp(swat_wave),rectangularwave(squr_wave),triangularwave(trig_wave)foursignals,toachievesignalconversionandfrequencyadjustable;designedto1HzfrequencycounterForthereferencesignal,measuredintherange1Hz-9999Hz,themeasurementresultsintheformoffourdecimaloutput.whichi

4、sthedesignideaofthisarticle.Keywords:DDS;VerilogHDL;EDA;Max+PlusI;arbitrarywaveformgenerator目录TOC o 1-5 h z HYPERLINK l bookmark10 1引言1 HYPERLINK l bookmark12 2课题背景及相关技术1 HYPERLINK l bookmark14 3理论基础2VerilogHDL语言概述2 HYPERLINK l bookmark16 Max+plusII简介4 HYPERLINK l bookmark18 4EDA多功能波形发生器详细设计6设计思路6任意

5、波形发生器的分块设计6 HYPERLINK l bookmark24 5任意波形发生器的仿真与实现8指针操纵模块的仿真与实现8数字频率计的仿真与实现9系统设计有待提高和改良的地址12 HYPERLINK l bookmark32 6小结13参考文献14附录151引言随着数字电子技术迅猛进展,信号源作为经常使用的电子产品设计工具,其应知足精度高、速度快、分辨率高等要求。DDS是从20世纪70年代进展起来继直接频率合成和间接频率合成以后的第三代频率合成技术。VerilogHDL是一种许诺设计者进行各类级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合的硬件描述语言。并采纳MAX+Plu

6、sII软件进行画图,编译,仿真。课程设计背景及相关技术随着数字电子技术迅猛进展,信号源作为经常使用的电子产品设计工具,其应知足精度高、速度快、分辨率高等要求。DDS是从20世纪70年代进展起来继直接频率合成和间接频率合成以后的第三代频率合成技术。VerilogHDL是一种许诺设计者进行各类级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合的硬件描述语言。QuartusII6.0是Altera公司推出的CPLD/FPGA结构化ASIC开发设计软件。信号发生器(signalgenerator),又称信号源或振荡器,是一种能在模拟域或数字域中以必然频率产生可复现的精准校准信号的电子测试仪

7、器。依照输出信号波形的不同,信号发生器能够分为:函数信号发生器(正弦信号发生器、矩形信号发生器、三角波信号发生器等)、脉冲信号发生器、随机信号发生器及任意波形发生器等。任意波形发生器(ArbitraryWaveformGenerator,AWG,是信号发生器的一种,是能够精准产生用户概念的任意波形的电子测试设备。不同于仅能产生有限简单波形的函数发生器,用户能够对任意波形发生器概念各类不同的复杂可变的波形信号。依照结构形式,任意波形发生器要紧有两种:独立控制式任意波形发生器总线控制式任意波形发生器任意波形发生器的关键技术是频率合成技术,目前经常使用任意波形发生器的频率合成技术要紧有DDS技术和可

8、变时钟技术。初期的任意波形发生器仅能输出低频信号,随着数字技术的进展,其输出频率已能达到射频范围。PLD(ProgrammableLogicDevice)是可编程逻辑器件的总称,PLD大体上能够完成任何数字器件的功能,从高性能CPI到简单集成电路,均能够用PLD实现。通过传统的原理图输入,或是硬件语言的描述就能够够自由地设计具有某种功能的数字系统:利用软件仿真功能,能够查验设计的正确性;利用PLD的在线修改能力,能够在没必要改动硬件电路的基础上进行修改设计。具有设计时刻短,PCB面积小,系统的靠得住性强等特点。目前,在通信、自动操纵、信息处置等诸多领域发挥着重要的作用。理论基础VerilogH

9、L语言概述电子设计自动化(EDA)的关键技术之一是要求用形式化方式来描述数字系统的硬件电路。VerilogHDL硬件描述语言在电子设计自动化中扮演着重要的角色,他是EDA技术研究的重点之一。VerilogHDL是一种硬件描述语言(HDL:HardwareDiscriptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言。VerilogHDL确实是在用途最普遍的C语言的基础上进展起来的一种件描述语言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末初创的,最初只设计了一个仿真与验证工具,以后又陆续开发了相关的故障模

10、拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,取得了庞大的成功,从而使得VerilogHDL迅速取得推行应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成了该公司的独家专利。1990年CADENCE公司公布发表了VerilogHDL,并成立LVI组织以增进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995。用它能够表示逻辑电路图、逻辑表达式,还能够表示数字逻辑系统所完成的逻辑功能。VerilogHDL的最大特点确实是易学易用,若是有C语言的编程体会,能够在一个较短的时刻内专门快的学习和把握,因此

11、能够把VerilogHDL内容安排在与ASIC设计等相关课程内部进行教学,由于HDL语言本身是专门面向硬件与系统设计的,如此的安排能够使学习者同时取得设计实际电路的体会。与之相较,VHDL的学习要困难一些。但VerilogHDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意。下面列出的是Verilog硬件描述语言的要紧能力:(1)大体逻辑门,例如and、or和nand等都内置在语言中。(2)用户概念原语(UDP)创建的灵活性。用户概念的原语既能够是组合逻辑原语,也能够是时序逻辑原语。(3)开关级大体结构模型,例如pmos和nmos等也被内置在语言中。(4)提供显式语言结构指定设计中的端

12、口到端口的时延及途径时延和设计的时序检查。(5)可采纳三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式利用进程化结构建模;数据流方式利用持续赋值语句方式建模;结构化方式利用门和模块实例语句描述建模。*VerilogHDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。*能够描述层次设计,可使用模块实例结构描述任何层次。*设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。*VerilogHDL不再是某些公司的专有语言而是IEEE标准。*人和机器都可阅读Verilog语言,因此它可作为EDA的工具和设计者之

13、间的交互语言。*VerilogHDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。PLI是允许外部函数访问Verilog模块内信息、允许设计者与模拟器交互的例程集合。*设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级。*能够利用内置开关级原语在开关级对设计完整建模。*同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。*VerilogHDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。*在行为级描述中,VerilogHDL不仅能

14、够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。*能够使用门和模块实例化语句在结构级进行结构描述。*VerilogHDL的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。*VerilogHDL还具有内置逻辑函数,例如&(按位与)和|(按位或)。*对高级编程语言结构,例如条件语句、情形语句和循环语句,语言中都能够利用。*可以显式地对并发和定时进行建模。*提供强有力的文件读写能力。*语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;例如,事件队列上的事件顺序在标准中没有定义。Max+plusll简介Max+plusII(或

15、写成Maxplus2或MP2)是Altera公司推出的的第三代PLD开发系统(Altera第四代PLD开发系统被称为:Quartus,要紧用于设计6万TOO万门的大规模CPLD/FPGA)。利用MaX+PLUSII的设计者不需精通器件内部的复杂结构。设计者能够用自己熟悉的设计工具(如原理图输入或硬件描述语言)成立设计,MaX+PLUSII把这些设计转自动换成最终所需的格式。其设计速度超级快专门适合初学者利用。通常可将Maxplus2设计流程归纳为以下7个步骤:(1)利用文本编辑器输入设计源文件。在传统设计中,设计人员是应用传统的原理图输入方式来开始设计的。自90年代初,Verilog、VHDL

16、、AHDL等硬件描述语言的输入方式在大规模设计中取得了普遍应用。(2)前仿真(功能仿真)。设计的电路必需在布局布线前验证电路功能是不是有效。(3)设计编译。设计输入以后就有一个从高层次系统行为设计向门级逻辑电路设转化翻译进程,即把设计输入的某种或某几种数据格式(网表)转化为软件可识别的某种数据格式(网表)。(4)优化。关于上述综合生成的网表,依照布尔方程功能等效的原那么,用更小更快的综合结果代替一些复杂的单元,并与指定的库映射生成新的网表,这是减小电路规模的一条必由之路。(5)布局布线。(6)后仿真(时序仿真)需要利用在布局布线中取得的精准参数再次验证电路的时序。(7)生产。布线和后仿真完成以

17、后,就能够够开始ASCI或PLD芯片的投产。MaxPlusII的设计流程能够用如以下图给出。图PlusII设计流程从图可清楚了解到MaxPlusII提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处置和器件编程。他包括设计输入编辑、编译网表提取、数据库成立、逻辑综合、逻辑分割、适配、延时网表提取、编辑文件汇编和编程下载9个步骤。EDA多功能波形发生器详细设计设计思路设计的思路主若是以实验室中经常使用的函数发生器为雏形,及既能输出任意波形,而且频率可调,还能够测量外部信号的频率。实现这两种功能设计的方式有很多种,那个地址采纳EDA设计来实现,验证设计的芯片采纳Cyclone系列

18、,具体芯片可依如实验室的配置来确信。语言采纳VerilogHDL,软件以MAX+PlusII为主。其中任意波形发生器的实现采纳模块设计,如此专门好的利用了MAX+PlusII软件中的LPM_R0M模块,能够达到最优设计;频率计的功能完全采纳HDL语言描述,最后的顶层文件采纳模块设计来完成。最终的顶层文件如以下图所示:llWiYIIIIIIIIIIIIJLjLLLJMLLU1111J11IJ,11IIIIIIIIII1111J11IJ,11IIIIIIIIIIFrE.measureNCLK40UTLS.flR&TIMRHININFUT.FFECTR_SEG3.flDECCDEOIITL.fl图顶

19、层文件模块图0任意波形发生器的分块设计Fre_measure模块:frF1.a-svinoINCLK/CHCLKqokiT工占一.ayAST4R4YIJT_FH.KEHPUT.J0QOIT1S.UHArtlNSTR_*G3DECQOfDUT图Fre_measure模块图Fre_measure模块个引脚说明:INCLK:系统的时钟信号。在计数测量部份,其被分频为1Hz信号;在动态扫描部份,其被分频为动态扫描脉冲。RST:系统的复位时钟,高电平有效。INPUT_FREE:输入的待测信号。Qout15:0:假设打算通过数码管静态显示,那么Qout15:12为千位,Qout11:8为百位,Qout7:

20、4为十位,Qout3:0为个位,都是十进制形式。WARNING:超过量程时输出的警示信号。DEC0DE0UT6:0:动态扫描显示时的译码输出,在扫描脉冲的作用下,循环的输出四位数据。CTR_SEG3:0:四个数码管的未选信号,在扫描脉冲的作用下,与相应位的译码信号对应输出。(2)Wave_gen模块:INCI.KSELECTJ.OFREq3.OINC1_KRIDDREe_CJRDDRESSS图Wave_gen模块图Wave_gen模块各引脚说明:INCLK:输入的待测信号。SELECT1.O:波形选择输入。FREQ3.O:操纵输出波形的频率。ADDRESS8.O:输出地址指针。波形数据存储RO

21、M模块丄口m_romO.addie558.Oq7-Q-clack1图波形数据存储ROM模块dre558.Oclack波形数据存储ROM模块个引脚说明:Clock:输入时钟信号。Address8.O:输入地址指针。Q7.O:输出信号。5任意波形发生器的仿真与实现要实现的功能:可产生正弦波(sina_wave)、锯齿波(swat_wave)、矩形波(squr_wave)、三角波(trig_wave)四种信号,能够实现信号的转换(select)而且频率可调。要紧由三部份组成:地址指针操纵模块,四种波形数据存储模块,D/A转换模块。前面2个模块在Max+plusII中实现,该部份的实现框图如下:图实现

22、功能框图指针操纵模块的仿真与实现该模块的功能采纳VerilogHDL来描述,程序请见附件。程序实现的要紧功能是:依照不同的波形选择(selectl:O),来改变送入ROM中的地址指针address。四种波形一个周期的数据各占不同的16B,每次波形改变使address指向各段数据首地址。编译正确后将其创建为模块(见顶层文件中所示),然后采纳图形编辑方式,完成波形发生器这部份电路的设计。该部份功能验证的波形仿真结果如下:产生正弦波(sina_wave)时送到DAC0832的数据:3iiuelk0stltu回fr啊pi40.0u0毗120.0u200.0制0.tIllLk17明晋nsJTUummmn

23、rLnnnrLrLrLrLrumarLrLrm:fLm图产生正弦波的仿真图产生锯齿波(swat_wave)时送到DAC0832的数据:40C84.0u120.0as啪山魁300,0抠;jrJnclkRTLrvuumrLrLruLruLrLrLTLnjuuui皆】DifljBfr*Lown伍yrmrfncjYT顾iiw阿时何图产生锯齿波的仿真图产生矩形波(squr_wave)时送到DAC0832的数据:JOOm3%.Ok670.0Jis990.0ns11.31w1t呻逍IffiLT.1T5m1抄aitfUtiwimnwimm聊ifflinmmniiMiiiMimfflBifflnmmiM刖imr

24、舒;t3flecl10国tx氓oooc3Qnl255hAu艾图产生矩形波的仿真图产生三角波(trig_wave)时送到DAC0832的数据:Has啰0ndkQselect田freq.SQoiil虹旧叫a屉忡1邮ns殂皿勉烈期KTLJUOTUWEHjWUmrDWWinJW1J颤图产生三角波的仿真图由仿真结果可知,改变select1:0的值,能够正确的将对应的波形数据送到DAC0832,从而完成了整体设计的第一部份。数字频率计的仿真与实现要实现的功能:设计一个四位数字显示的频率计,标准基准时钟采纳1Hz(即1s),能够测量1Hz9999Hz的信号频率。完全采纳文本设计,模拟的硬件功能有三部份组成:

25、操纵部份、计数测量部份、输出显示数据锁存部份。频率计的程序整体框图及内部部份,内部的握手信号等信息的框图表示如下:图频率的程序整体框图一、信号的概念与说明如下:输入部份input_fre:输入的待测信号;inclk:系统的时钟信号。在计数测量部份,其被分频为1Hz信号;在动态扫描部份,其被分频为动态扫描脉冲。在那个地址,inclk假设为实验室的4MHz;rst:系统的复位时钟,高电平有效。:输出部份Qout15:0:假设打算通过数码管静态显示,那么Qout15:12为千位,Qout11:8为百位,Qout7:4为十位,Qout3:0为个位,都是十进制形式;warning:超过量程时输出的警示信

26、号;decodeout6:0:动态扫描显示时的译码输出,在扫描脉冲的作用下,循环的输出四位数据;ctr_seg3:0:四个数码管的未选信号,在扫描脉冲的作用下,与相应位的译码信号对应输出。:中间握手信号count_en:计数许诺信号;count_clr:在新的一次测量开始时,清除上一次的测量数据,是数码管上的显示数据随时取得更新;load:计数数据锁存信号。二、操纵部份各信号的时序关系输入的系统脉冲通过度频后取得1Hz的计数基准信号,在基准信号每两个时钟周期经行一次频率测量。该部份产生3个操纵信号:count_en,count_clr,load。count_clr对计数模块进行复位,持续半个时

27、钟周期;count_en上升沿时刻计数部份开始对输入信号频率进行测量,测量时刻恰为一个基准时钟(1Hz),这段时刻对输入信号的脉冲进行计数,结果即为信号色频率。load即为产生锁存信号。各操纵信号的时序关系如以下图所示:通过操纵部份送来的操纵时序,计数部份能够在一个基准时钟周期内对输入的信号进行频率测量,在计数的同时通进程序操纵,使输出都为BCD码。4、锁存部份设计在load信号的时序作用下,完成输出数据锁存。五、动态扫描部份的设计在扫描时序的作用下,送出每一名的译码数据(decodeout6:0)及对应的字位选通操纵信号(ctr_seg3:0)。该模块的功能采纳VerilogHDL来描述,程

28、序请见附件。编译正确后将其创建为模块,然后采纳图形编辑方式,完成频率计这部份电路的设计。该部份功能验证的波形仿真结果如下::当input_fre设置为40Hz时,仿真的波形如下:躬6S6*1邹轴.吐IMWOTH闻蓉LB0JS1rri%r.二nirrLTL.i二二:1订_门_门J二mrLrLCmTLrmnrL二二TTrnnFwrtim(y5SSoul国g氓I2X*x_!_。X=X。XLKX$、X国|百皀右撫七力3fT&i维图40Hz仿真波形图如上图所示,Qout显示数据为:0040,即40Hz。同时将input_fre与clk_1Hz对照比较,亦可数出clk_1Hz一个周期内input_fre为

29、40(图中clk_1Hz半个周期内input_fre为20)。同时译码输出为3F、66,别离代表0、4的字型码。:当input_fre设置为200Hz时,仿真的波形如下:inlkrstFTtu88.61uer8B.05us0X图200Hz仿真波形图如上图所示,Qout显示数据为:0200,即40Hz。同时将input_fre与clk_1Hz对照比较,亦可数出clk_lHz个周期内input_fre为200(图中clk_1Hz半个周期内input_fre为100)。同时译码输出为3F、5B,别离代表0、2的字型码。【说明】为了仿真时减轻CPU的运算量,程序中的1Hz分频数据改成199(原数据是1

30、999999),动态扫描时钟分频改成9(原数据是4999),不阻碍研究问题的实质。由上面的仿真结果可知,频率计能够正确的测量出输入信号的频率,从而完成了整体设计的第二部份。系统设计有待提高和改良的地址频率计的结果若是能够可用字符LCD显示,让EDA送出相应的LCD操纵信号;频率计的测量范围可通过选择不同的基准频率(比如10Hz、100Hz、lKHz)来扩展,即能够实现“可选量程”的数字频率计;利用频率计电路来显示波形发生器的输出波形的频率及波形标识,如此就实现了实验室中函数发生器的雏形:能实现任意波形的输出及频率显示而且能够测量外来信号的频率,这也是本文最初的设计思路,那样设计就加倍完美。6小

31、结本课题要求基于可编程逻辑器件,利用硬件描述语言VHDL编写一个汽车尾灯操纵器芯片,并用MaxPlusII软件进行仿真。依照自己对汽车尾灯的明白得我设计了四大功能:一是检查功能,二是刹车功能,三是左转功能,四是右转功能。由此必需设计出五个大的模块:一是操纵模块,此模块是总的操纵系统,将其它模块的功能融合在一路,便于进行集中的操纵和操作;二是检查模块,此模块是一个分模块,要紧功能是对在汽车尾灯整个工作的进程中,在任一状态的任一时刻,检查汽车自身是不是处于正常状态,各电路系统和车身安满是不是良好。三是刹车模块,此模块也是一分模块,要紧功能是当驾驶人员遇险需要刹车踩下刹车键时,尾灯有规律闪烁,提示后

32、面驾驶人员和车辆注意。四是左转模块,要紧功能是当驾驶人员需要转弯按下左转弯键时,尾灯有规律闪烁,提示后面驾驶人员和车辆注意。五是右转模块,此模块也是一分模块,要紧功能是当驾驶人员需要转弯按下右转弯键时,尾灯有规律闪烁,提示后面驾驶人员和车辆注意。在整个电路设计完毕并仿真成功后发觉,其实整个电路设计实现的功能仍是比较有效和易于操作的,而自己也为此付出了许多:从依照课题要求查找相关资料,学习硬件语言,到自己能够独立编写小程序;从对MaxPlusII软件的试探,一次次修改程序,到仿真取得较中意的结果;从对截图工具的搜索下载,论文资料的搜集,到文字排版的学习。在设计进程中碰到了很多困难,在指导教师的指

33、引和同窗的帮忙下,通过不断探讨学习,使问题取得了必然的解决。终于使汽车尾灯操纵器的操纵,检查,刹车,右转等大体功能都实现了,美中不足的是汽车尾灯的各个仿真结果都有必然的延时。通过本学期课程设计的学习,我从中学习到了很多东西,对可编程逻辑器件,VHDL语言,MaxPlusII软件有了必然的了解,尤其是用VHDL语言编程和仿真。在本次设计中最大的收成是在不断地发觉问题,分析问题,解决问题的进程中培育了自己的科研能力,为尔后的学习工作做了一个良好的铺垫。参考文献王金明.VerilogHDL程序设计教程北京人民邮电出版社,20042Altera公司.QuartusII简易用户利用入门指南王金明数字系统

34、设计与VerilogHDL教程第二版,2005曾繁泰.EDA工程理论与实践-一SOC系统芯片设计电子工业出版社,2004,6附录:设计源程序清单/程序名称:基于VerilogHDL语言的多功能波形发生器设计/程序作者:王枫/最后修改日期:2020-12-31程序如下:moduleWave_gen(address,inclk,select,freq);output8:0inputinput1:0input3:0reg7:0reg8:0reg7:0parameteraddress;/输出操纵ROM的地址inclk;/系统始终,时刻应该保证D/A能转换完毕select;/波形选择,具体值代表的波形见

35、下面概念freq;/操纵输出波形的频率Qout;address;k,m;sina_wave=2b00,swat_wave=2b01,squr_wave=2b10,trig_wave=2b11;always(posedgeinclk)begincase(select)sina_wave:beginif(select=1)address=128;if(select=2)address=256;if(select=3)address=127)address=0;elseaddress=address+1;endelsebegink=127/freq;m=m)address=0;elseaddress

36、=address+freq;endendaddress=0;address=256;address=384;swat_wave:beginif(select=0)if(select=2)if(select=3)if(address128)address=255)address=128;elseaddress=address+1;endelsebegink=127/freq;m=(m+128)address=128;elseaddress=address+freq;endendendaddress=0;address=128;address=384;squr_wave:beginif(selec

37、t=0)if(select=1)if(select=3)if(address256)address=383)address=256;elseaddress=address+1;endelsebegink=127/freq;m=(m+256)address=256;elseaddress=address+freq;endendendtrig_wave:beginaddress=128;address=256;address=384;address=384;if(select=1)if(select=2)if(select=3)if(address=511)address=384;elseaddr

38、ess=address+1;endelsebegink=127/freq;m=(m+384)address=384;elseaddress=address+freq;endendendendcaseendendmodule程序如下:modulefre_measure(Qout,warning,ctr_seg,decodeout,inclk,rst,input_fre);inputoutput15:0outputoutput3:0output6:0inclk,rst,input_fre;Qout;warning;ctr_seg;decodeout;reg3:0reg6:0reg15:0regct

39、r_seg,out_seg;decodeout;Qout,temp;reg1:0reg21:0reg16:0clk_1Hz,count_en,load,warning,temp1,clk_scan;state_scan;count;count2;always(posedgeinclk)beginif(count=1999999)/假设inclk为4M,分频取得1Hz信号begincount=0;clk_1Hz=!clk_1Hz;endelsebegincount=count+1;clk_1Hz=clk_1Hz;endendalways(posedgeclk_1Hz)/操纵部份设计beginif(rst)begincount_en=0;load=1;endelsebegincount_en=count_en

温馨提示

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

评论

0/150

提交评论