利用VHDL的设计数字频率计(3)

2019-05-24 12:16

武汉理工大学《能力拓展训练》设计说明书

第四章 各功能模块基于VHDL的设计

4.1 时基产生与测频时序控制电路模块的VHDL源程序

程序ctrl.vhd LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CTRL IS

PORT(CLK: IN STD_LOGIC; -系统时钟 LOCK: OUT STD_LOGIC; -锁存信号 EN: OUT STD_LOGIC; -计数允许信号 CLR: OUT STD_LOGIC); -清零信号 END;

ARCHITECTURE ART OF CTRL IS

SIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0); -定义变量 BEGIN PROCESS(CLK) BEGIN

IF(CLK'EVENT AND CLK='1')THEN -检测时钟上升沿 IF Q=\

Q<=\计数大于15,清零 ELSE

- 10 -

武汉理工大学《能力拓展训练》设计说明书

Q<=Q+'1'; -允许计数 END IF; END IF; EN<=NOT Q(3);

LOCK<=Q(3) AND NOT(Q(2)) AND Q(1); CLR<=Q(3) AND Q(2) AND NOT(Q(1)); END PROCESS; END ART;

程序主要讲述了由时钟信号产生计数允许信号、清零信号和锁存信号,而且限定了响应时间为不超过15s。

4.2 待测信号脉冲计数电路模块的VHDL源程序

4.2.1 十进制加法计数器的VHDL源程序

程序cb10.vhd LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CB10 IS

PORT(CLK,EN,CLR: IN STD_LOGIC;

COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); -计数输

信号

END CB10;

ARCHITECTURE ART OF CB10 IS -结构体 BEGIN

- 11 -

武汉理工大学《能力拓展训练》设计说明书

PROCESS(CLK,CLR,EN) BEGIN

IF CLR='1' THEN

COUNT10<=\计数器清零

ELSIF RISING_EDGE(CLK) THEN -检测时钟上升沿 IF(EN='1') THEN -检测是否允许计数 IF COUNT10=\

COUNT10<=\计数值满9清零 ELSE

COUNT10<=COUNT10+'1'; -允许计数 END IF; END IF; END IF; END PROCESS; END ART;

程序主要讲述了十进制加法计数器的使用,在符合了一定的标准以后十进制的使用,在计数器满9后清零。

4.2.2待测信号脉冲计数器的VHDL源程序

程序count.vhd LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT IS

PORT(CLK: IN STD_LOGIC; -待测时钟信号 EN: IN STD_LOGIC; -计数选通控制信号 CLR: IN STD_LOGIC; -计数器清零信号

- 12 -

武汉理工大学《能力拓展训练》设计说明书

QA,QB,QC,QD: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); -结果输出

信号

END;

ARCHITECTURE ART OF COUNT IS

COMPONENT CB10 -元件CB10引用说明语句 PORT(CLK,EN,CLR: IN STD_LOGIC;

COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); -计数输

出信号

END COMPONENT;

SIGNAL CLK2: STD_LOGIC; SIGNAL CLK3: STD_LOGIC; SIGNAL CLK4: STD_LOGIC; BEGIN

CLK2<=NOT QA(3); CLK3<=NOT QB(3); CLK4<=NOT QC(3);

U1:CB10 PORT MAP(CLK,EN,CLR,QA); -元件引用例示 U2:CB10 PORT MAP(CLK2,EN,CLR,QB); -元件引用例示 U3:CB10 PORT MAP(CLK3,EN,CLR,QC); -元件引用例示 U4:CB10 PORT MAP(CLK4,EN,CLR,QD); -元件引用例示 END ART;

4.3 锁存与译码显示控制电路模块的VHDL源程序

4.3.1 译码显示电路的VHDL源程序

程序bcd7.vhd LIBRARY IEEE;

- 13 -

武汉理工大学《能力拓展训练》设计说明书

USE IEEE.STD_LOGIC_1164.ALL; ENTITY BCD7 IS

PORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -BCD输入信号 LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); -七段译码输出信号 END;

ARCHITECTURE ART OF BCD7 IS BEGIN

LED<=\WHEN BCD=\ELSE -对照七段字形显示译

码器真值表

\ \ \ \ \ \ \ \ \ \END ART;

程序主要讲述了七段译码器的显示问题,对应的给出了信号输入过程中七段译码器的各种显示。

4.3.2 锁存与译码显示控制模块的VHDL源程序

程序lock.vhd LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

- 14 -


利用VHDL的设计数字频率计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:教学设计模板及案例[1]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: