欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VHDL数字频率计设计课件.ppt

    • 资源ID:1289782       资源大小:133.74KB        全文页数:17页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VHDL数字频率计设计课件.ppt

    6.5 数字频率计的设计,1. 设计思路 图6.5是8位十进制数字频率计的电路逻辑图,它由一个测频控制信号发生器TESTCTL、8个有时钟使能的十进制计数器CNT10、一个32位锁存器REG32B组成。以下分别叙述频率计各逻辑模块的功能与设计方法。,6.5 数字频率计的设计 1. 设计思路,图6.5 8位十进制数字频率计逻辑图,图6.5 8位十进制数字频率计逻辑图,1) 测频控制信号发生器设计 频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。这就要求TESTCTL的计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。当TSTEN高电平时,允许计数;低电平时,停止计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B中,并由外部的7段译码器译出并稳定显示。锁存信号之后,必须有一清零信号CLR_CNT对计数器进行清零,为下1秒钟的计数操作作准备。测频控制信号发生器的工作时序如图6.6所示。为了产生这个时序图,需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上沿到来时其值翻转。,1) 测频控制信号发生器设计,其中控制信号时钟CLK的频率取1 Hz,而信号TSTEN的脉宽恰好为1 s,可以用作闸门信号。此时,根据测频的时序要求,可得出信号LOAD和CLR_CNT的逻辑描述。由图6.6可见,在计数完成后,即计数使能信号TSTEN在1 s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0.5 s后,CLR_CNT产生一个清零信号上跳沿。 高质量的测频控制信号发生器的设计十分重要,设计中要对其进行仔细的实时仿真(TIMING SIMULATION),防止可能产生的毛刺。,其中控制信号时钟CLK的频率取1 Hz,而信号,图6.6 测频控制信号发生器工作时序,图6.6 测频控制信号发生器工作时序,2) 寄存器REG32B设计 设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。若已有32位BCD码存在于此模块的输入口,在信号LOAD的上升沿后即被锁存到寄存器REG32B的内部,并由REG32B的输出端输出,然后由实验板上的7段译码器译成能在数码管上显示输出的相对应的数值。,2) 寄存器REG32B设计,3) 十进制计数器CNT10的设计 如图6.5所示,此十进制计数器的特殊之处是,有一时钟使能输入端ENA,用于锁定计数值。当高电平时计数允许,低电平时禁止计数。,3) 十进制计数器CNT10的设计,2. VHDL源程序1) 有时钟使能的十进制计数器的源程序CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -有时钟使能的十进制计数器ENTITY CNT10 ISPORT (CLK:IN STD_LOGIC; -计数时钟信号 CLR:IN STD_LOGIC; -清零信号 END:IN STD_LOGIC; -计数使能信号 CQ:OUT INTEGER RANGE 0 TO 15;-4位计数结果输出 CARRY_OUT:OUT STD_LOGIC); -计数进位 END CNT10;ARCHITECTURE ART OF CNT10 IS,2. VHDL源程序,SIGNAL CQI :INTEGER RANGE 0 TO 15;BEGIN PROCESS(CLK,CLR,ENA) BEGIN IF CLR= 1 THEN CQI= 0; -计数器异步清零 ELSIF CLKEVENT AND CLK= 1 THEN IF ENA= 1 THEN IF CQI9 THEN CQI=CQI+1; ELSE CQI=0;END IF; -等于9,则计数器清零 END IF; END IF; END PROCESS; PROCESS (CQI) BEGIN IF CQI=9 THEN CARRY_OUT= 1; -进位输出 ELSE CARRY_OUT= 0;END IF; END PROCESS; CQ=CQI;END ART;,SIGNAL CQI :INTEGER RANGE 0 T,2) 32位锁存器的源程序REG32B.VHDLIBRARY IEEE; -32位锁存器USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT(LOAD:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT:OUT STD_LOGEC_VECTOR(31 DOWNTO 0);END REG32B;ARCHITECTURE ART OF REG32B IS BEGINPROCESS ( LOAD, DIN )BEGINIF LOAD EVENT AND LOAD= 1 THEN DOUT=DIN; -锁存输入数据 END IF ; END PROCESS;END ART;,2) 32位锁存器的源程序REG32B.VHD,3) 测频控制信号发生器的源程序TESTCTL.VHD LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -测频控制信号发生器USE IEEE.STD_LOGIC_UNSIGNED.ALLENTITY TESTCTL IS PORT (CLK:IN STD_LOGIC; -1 Hz测频控制时钟 TSTEN:OUT STD_LOGIC; -计数器时钟使能 CLR_CNT:OUT STD_LOGIC; -计数器清零 LOAD:OUT STD_LOGIC); -输出锁存信号END TESTCTL;ARCHITECTURE ART OF TESTCTL IS SIGNAL Dvi2CLK :STD_LOGIC; BEGIN,3) 测频控制信号发生器的源程序TESTCTL.VHD,PROCESS ( CLK )BEGINIF CLKEVENT AND CLK= 1 THEN -1 Hz时钟二分频Div2CLK=NOT Div2CLK;END IF ;END PROCESS;PROCESS ( CLK,Div2CLK )BEGIN IF CLK= 0 AND Div2CLK = 0 THEN -产生计数器清零信号 CLR_CNT= 1; ELSE CLR_CNT= 0 ; END IF; END PROCESS; LOAD=NOT Div2CLK; TSTEN=Div2CLK;END ART;,PROCESS ( CLK ),4) 数字频率计的源程序FREQ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FREQ IS PORT(FSIN:IN STD_LOGIC; CLK:IN STD_LOGIC; DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END FREQ;ARCHITECTURE ART OF FREQ ISCOMPONENT CNT10 -待调用的有时钟使能的十进制计数器端口定义 PORT(CLK,CLR,ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT:OUT STD_LOGIC);,4) 数字频率计的源程序FREQ.VHD,END COMPONENT;COMPONENT REG32B -待调用的32位锁存器端口定义 COMPONENT TESTCTL -待调用的测频控制信号发生器端口定义 SIGNAL TSTEN:STD_LOGIC; SIGNAL CLR_CNT:STD_LOGIC; SIGNAL LOAD:STD_LOGIC; SIGNAL CARRY1:STD_LOGIC; SIGNAL CARRY2:STD_LOGIC; SIGNAL CARRY3:STD_LOGIC; SIGNAL CARRY4:STD_LOGIC; SIGNAL CARRY5:STD_LOGIC; SIGNAL CARRY6:STD_LOGIC; SIGNAL CARRY7:STD_LOGIC; SIGNAL CARRY8:STD_LOGIC; SIGNAL DIN:STD_LOGIC_VECTOR(31 DOWNTO 0);,END COMPONENT;,BEGINU0:TESTCTL PORT MAP(CLK=CLK,TSTEN=TSTEN, CLR_CNT=CLR_CNT,LOAD=LOAD);U1:CNT10 PORT MAP(CLK=FSIN,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (3 DOWNTO 0),CARRY_OUT=CARRY1);U2:CNT10 PORT MAP(CLK=CARRY1,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (7 DOWNTO 4),CARRY_OUT=CARRY2);U3:CNT10 PORT MAP(CLK=CARRY2,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (11 DOWNTO 8),CARRY_OUT=CARRY3);U4:CNT10 PORT MAP(CLK=CARRY3,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (15 DOWNTO 12),CARRY_OUT=CARRY4);U5:CNT10 PORT MAP(CLK=CARRY4,CLR=CLR_CNT,ENA=TSTEN,,BEGIN,CQ=DIN (19 DOWNTO 16),CARRY_OUT=CARRY5);U6:CNT10 PORT MAP(CLK=CARRY5,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (23 DOWNTO 20),CARRY_OUT=CARRY6);U7:CNT10 PORT MAP(CLK=CARRY6,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (27 DOWNTO 24),CARRY_OUT=CARRY7);U8:CNT10 PORT MAP(CLK=CARRY7,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (31 DOWNTO 28),CARRY_OUT=CARRY8);U9:REG32B PORT MAP(LOAD=LOAD,DIN=DIN(31 DOWNTO 0),DOUT=DOUT);END ART;,CQ=DIN (19 DOWNTO 16,3. 硬件逻辑验证 选择实验电路结构图NO.0,由5.2节的实验电路结构图NO.0和图6.5确定引脚的锁定,测频控制器时钟信号CLK(1 Hz)可接CLOCK1,待测频FSIN可接CLOCK0,8位数码显示输出DOUT31.0接PIO47PIO16。 进行硬件验证时方法如下:选择实验模式0,测频控制器时钟信号CLK与CLOCK1信号组中的1 Hz信号相接,待测频FSIN与CLOCK0信号组中的某个信号相接,数码管应显示来自CLOCK0的频率。,3. 硬件逻辑验证,

    注意事项

    本文(VHDL数字频率计设计课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开