- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字电路与数字逻辑大型实验报告
姓名
学号
指导老师
专业班级
学院
提交日期
实验内容
1.理解硬件描述语言VHDL的基本语法;
2.掌握简单数字系统“自顶而下”的设计方法;
3.掌握EDA软件Quartusii的操作方法;
4.4位数字频率计的设计;
二、4位数字频率计设计
1.设计题目
设计一4位数字频率计,测量范围为0~9999Hz,假设被测信号为标准的方波信号。
显示电路
2.方案设计及原理
锁存信号
锁存器
控制器
基准时钟信号
清零信号
闸门信号
计数器
闸门电路
被测信号
计数脉冲
图1.数字频率计原理图
原理简述:如图所示,当闸门信号(宽度为1S的正脉冲)到来时,闸门开通,被测信号通过闸门送到计数器,计数器开始计数,当闸门信号结束时,计数器停止计数。由于闸门开通的时间为1S,计数器的计数值就是被测信号的频率。为了使测得的频率值准确,在闸门开通之前,计数器必须清零。为了使显示电路稳定地显示频率值,在计数器和显示电路之间加了锁存器,当计数器计数结束时,将计数值通过锁存信号送到锁存器。控制电路在时基电路的控制下产生三个信号:闸门信号、锁存信号和清零信号。各信号之间的时序关系如下图所示:
被测信号:
1s
闸门信号:
计数脉冲:
清零信号:
锁存信号:
图2.数字频率计工作时序
3.顶层原理图设计
图3. 4位数字频率计顶层原理图
说明:根据数字频率计的工作原理和设计方案,可得到如图3所示的4位数字频率计的顶层设计原理图。原理图包括计数器CNT10、锁存器LATCH4、显示译码器LED7S、控制器CONTROL四种底层模块。4个十进制计数器CNT10级联构成10000进制计数器,使频率计的测量范围达到0000Hz~9999Hz。CNT10的输出送锁存器LATCH4,LATCH4的输出送显示译码器LED7S。LED7S的输出驱动7段LED数码管。CONTROL用于产生图3中所示的清零信号CLR、闸门信号CS、锁存信号LE三种控制信号。
4.底层模块仿真
(1)CNT10模块
CNT10的VHDL语言:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(clk:in std_logic;
clr:in std_logic;
cs:in std_logic;
qq:buffer std_logic_vector(3 downto 0);
co:out std_logic
);
end cnt10;
architecture one of cnt10 is
begin
process(clk,clr,cs)
begin
if(clr=1)then
qq=0000;
elsif(clkevent and clk=1)then
if (cs=1)then
if (qq=9)then
qq=0000;
else
qq=qq+1;
end if;
end if;
end if;
end process;
process(qq)
begin
if(qq=9)then
co=0;
else
co=1;
end if;
end process;
end one;
CNT10模块的逻辑符号:
CNT10模块的仿真:
CNT10模块说明:
CNT10模块为十进制加法计数器模块,具有计数、异步清零、计数使能、进位输出功能。异步清零功能是为了闸门信号有效之前将计数器清零。计数使能由闸门信号控制,闸门信号高电平时允许计数,低电平时停止计数(保持状态)。进位输出是用于计数器之间的级联,即前级计数器
文档评论(0)