云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > EDA设计数字时钟

EDA设计数字时钟

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 19:05:11

多功能数字钟设计实验报告

模六十计数器VHDL语言程序如下: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY counter_60 IS

PORT(en:IN std_logic; ----en为使能端 clrn:IN std_logic; ----clrn为清零端 idn:IN std_logic; ---- idn为置数使能端 d:IN std_logic_vector(7 downto 0); ----d为预置数的输入端 clk:IN std_logic; ----clk为时钟端 rco:out std_logic; ----rco为进位输出端 qh:buffer std_logic_vector(3 downto 0); ql:buffer std_logic_vector(3 downto 0) );

END counter_60;

ARCHITECTURE behave OF counter_60 IS BEGIN

rco<='1' when(qh=\当计数到59时进位端输出1 PROCESS(clk,clrn) BEGIN

IF(clrn='0')THEN ----定义清零端为低电平有效 qh<=\ql<=\

ELSIF(clk'EVENT AND clk='0')THEN ----定义该计数器为时钟下降沿有效 if(idn='1')then ----定义置数端为高电平有效 qh<=d(7 downto 4); ql<=d(3 downto 0);

elsif(en='1')then ----定义使能端为高电平有效 if(ql=9)then ----模六十的具体说明 ql<=\if(qh=5)then qh<=\else qh<=qh+1; end if;

else ql<=ql+1; end if; END IF; END IF;

END PROCESS; END behave;

类似的,模24计数器也包含有使能端(高电平有效)、清零端(低电平有效)、置数使能端(高电平有效)、预置数端、时钟端(下降沿有效)、进位输出端。

模24计数器VHDL语言程序如下: library ieee;

4

多功能数字钟设计实验报告

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY counter_24 IS

PORT(en:IN std_logic; clrn:IN std_logic; idn:IN std_logic;

d:IN std_logic_vector(7 downto 0); clk:IN std_logic; rco:out std_logic;

qh:buffer std_logic_vector(3 downto 0); ql:buffer std_logic_vector(3 downto 0) );

END counter_24;

ARCHITECTURE behave OF counter_24 IS BEGIN

rco<='1' when(qh=\PROCESS(clk,clrn) BEGIN

IF(clrn='0')THEN qh<=\ql<=\

ELSIF(clk'EVENT AND clk='0')THEN if(idn='1')then

qh<=d(7 downto 4); ql<=d(3 downto 0); elsif(en='1')then

if(qh=\qh<=\ql<=\

elsif(ql<\ql<=ql+1; else

ql<=\qh<=qh+1; end if; END IF; END IF;

END PROCESS; END behave;

计时部分电路图如下:

5

多功能数字钟设计实验报告

d.仿真波形

计时部分仿真波形如下(FUNCTIONAL):

(2)脉冲发生电路

a.基本原理

实验箱提供了48M频率的时钟,所以我们需要将其分频,从而得到1Hz、2Hz、512Hz、1kHz等频率,分别用于计时、报时、校分等电路。 b.实现方式

本实验采用VHDL语言编程的方法实现分频器。在程序中,通过改变不同的count数实现不同的分频,计算公式如下:

f?48M2count

例如要得到1Hz,则count数需为24000000。 c.程序及电路图

分频器VHDL语言程序如下: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY fenpin3 IS

PORT(clk: IN STD_LOGIC; ----待分频时钟 hz:buffer STD_LOGIC; hz1:buffer STD_LOGIC; hz2:buffer STD_LOGIC;

khz:buffer STD_LOGIC; khz2:buffer STD_LOGIC;

6

多功能数字钟设计实验报告

hz3:buffer STD_LOGIC; hz4:buffer STD_LOGIC); END fenpin3;

ARCHITECTURE beh OF fenpin3 IS

SIGNAL count: integer range 0 to 24000000; SIGNAL countl: integer range 0 to 24000; SIGNAL count2: integer range 0 to 24000000; SIGNAL count3: integer range 0 to 24000000; SIGNAL count4: integer range 0 to 24000; SIGNAL count5: integer range 0 to 480000; SIGNAL count6: integer range 0 to 4; BEGIN

PROCESS(clk) BEGIN

IF (clk='1') THEN count<=count+1; countl<=countl+1; count2<=count2+1; count3<=count3+1; count4<=count4+1; count5<=count5+1; count6<=count6+1;

IF(count=23999999) Then count<=0;

hz<=NOT hz; END IF;

IF(countl=23999) Then countl<=0;

khz<=NOT khz; END IF;

IF(count2=11999999) Then count2<=0;

hz1<=NOT hz1; END IF;

IF(count3=46874) Then count3<=0;

hz2<=NOT hz2; END IF;

IF(count4=11999) Then count4<=0;

khz2<=NOT khz2; END IF;

IF(count5=479999) Then count5<=0;

----hz端口输出1Hz频率 ----khz端口输出1kHz频率 ----hz1端口输出2Hz频率 ----hz2端口输出512Hz频率 ----kh2端口输出2kHz频率 7

搜索更多关于: EDA设计数字时钟 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

多功能数字钟设计实验报告 模六十计数器VHDL语言程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY counter_60 IS PORT(en:IN std_logic; ----en为使能端 clrn:IN std_logic; ----clrn为清零端 idn:IN std_logic; ---- idn为置数使能端 d:IN std_l

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com