数字电路大型设计实验.docVIP

  • 0
  • 0
  • 约1.18万字
  • 约 20页
  • 2018-12-24 发布于湖北
  • 举报
PAGE \* MERGEFORMAT19 数 电 大 型 实 验 报 告 姓名:陈丽红 班级:健理1402班 学号:201424450202 教师:金老师 一、4位数字频率计设计 1.1设计题目 设计一4位数字频率计,测量范围为0~9999Hz,假设被测信号为标准的方波信号。 1.2设计思路 下图所示为数字频率计的原理框图,对于数字频率计,我们采用“自顶向下”的设计方法。根据数字频率计的工作原理和设计方案, 先绘制顶层设计原理图,再进行底层模块的设计。 图1-1 数字频率计原理框图 1.3顶层设计和底层模块设计 1.3.1顶层设计 4位数字频率计的原理图中包括计数器CNT10、锁存器LATCH4、显示译码器LED7S、控制器CONTROL四种底层模块。4个十进制计数器CNT10级联构成10000进制计数器,使数字频率计的测量范围在0000Hz~9999Hz。CNT10的输出送给锁存器LATCH4,LATCH4的输出再送给显示译码器LED7S。LED7S为阳级驱动的7段LED数码管。控制器CONTROL用来产生所需的清零信号clr、闸门信号cs、锁存信号le三种控制信号。具体的顶层原理图的设计连接如下图所示。 图1-2 4位数字频率计原理图 1.3.2底层设计模块 ?十进制计数器模块CNT10 模块CNT10的VHDL代码 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt10 is port(clk,clr,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模块为十进制加法计数器模块,具有计数、异步清零、计数使能、进位输出功能。清零信号clr可以使计数器在闸门信号cs有效前清零。计数使能由闸门信号cs控制,当cs高电平时,闸门开通,被测信号通过闸门送到计数器,计数器允许计数,低电平时停止计时。CNT10模块采用的是时钟上升沿计数,在计数使能的情况下来一个时钟信号clk的上升沿,计数器加1,对于十进制加法计数器,当计数达到10时产生一个进位输出,进位输出co采用负脉冲,避免后级计数器提前加1计数。实验仿真波形说明了CNT10模块符合设计要求的逻辑功能,仿真结果如下图。 模块CNT10的仿真结果 计数器qq达到10时,进位输出cs产生一个负脉冲cs=1时,每来一个clk上升沿,qq加1clr=1时,qq清零 计数器qq达到10 时,进位输出cs产 生一个负脉冲 cs=1时,每来一个 clk上升沿,qq加1 clr=1时, qq清零 图1-3 CNT10仿真波形 ?4位锁存器模块LATCH4 模块LATCH4的VHDL代码 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity latch4 is port(le: in std_logic; dd: in std_logic_vector(3 downto 0); qq: out std_logic_vector(3 downto 0) ); end latch4; architecture one of latch4 is begin process(le,dd) begin if(le=1)then qq=dd; end if; end process; end one; 模块LATCH4的简单说明 LATCH4模块具有

文档评论(0)

1亿VIP精品文档

相关文档