设异步清零和同步加载的24位计数器

更新时间:2023-12-25 18:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二:设异步清零和同步加载的24位计数器 一:实验目的

熟习QuartusII的VHDL文本设计流程全过程,学习计数器的设计,仿真和硬件测试。掌握原理图与文本混合设计方法。

实验内容:说明例中各语句的作用。给出其所有信号的时序仿真波形,根据波形详细描述此设计的功能特点,包括RST,EN,LOAD,DATA,CLK等信号的异步和同步特性。查阅编译后的计数器的时序特点,从时序仿真图和编译报告中了解技术时钟输入至计数数据输出的延时情况,包括设定不同优化约束后的改善情况,以及当选择不同FPGA目标器件后的延时差距及毛刺情况,给出分析报告。

二:设计程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY hour IS

PORT(CLK,RESET,EN:IN STD_LOGIC;

DAOUT: BUFFER STD_LOGIC_VECTOR(6 DOWNTO 0)); END hour;

ARCHITECTURE behav OF hour IS

SIGNAL c:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN

PROCESS(CLK,RESET) BEGIN

IF RESET='1' THEN c<=\ELSIF CLK'EVENT and CLK='1'THEN IF EN='1'THEN IF c=16#24# THEN IF c=\c<=\ELSE c<=c+1;

IF c(3 DOWNTO 0)=\c<=c+7; END IF; END IF; END IF; END IF; END IF ;

IF c(3 DOWNTO 0)=\c<=c+7; END IF;

END PROCESS; DAOUT<=c; END behav ;

三:程序仿真

本文来源:https://www.bwwdw.com/article/4fcx.html

Top