概述
题目:设计一个异步清零、同步时钟使能和异步数据加载型8位二进制加法计数器。
LIBRARY IEEE
USE IEEE.STD_LOGIC_1164.ALL
USE IEEE.STD_LOGIC_UNSIGNED.ALL
ENTITY BIT8 IS
PORT (CLK,CLR,EN,LOAD : IN STD_LOGIC;
DATA : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--8位预置数
DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--计数值输出
COUT : OUT STD_LOGIC);--进位输出
END BIT8;
ARCHITECTURE BEHAV OF BIT8 IS
BEGIN
PROCESS(CLK, CLR, EN, LOAD)--输入敏感表
VARIABLE Q : STD_LOGIC_VECTOR(7 DOWNTO 0)--定义中间变量 8位
BEGIN
IF CLR = '1' THEN Q := (OTHERS => '0');--异步清零
ELSIF LOAD = '1' THEN Q := DATA;--异步置数
ELSIF CLK'EVENT AND CLK = '1' THEN--同步时钟使能
IF EN = '1' THEN Q := Q + 1;--使能,时钟上升沿计数
ELSE Q := Q;
END IF;
END IF;
IF Q = B'1111_1111' THEN COUT <= '1';
ELSE COUT <= '0';
END IF;
DOUR <= Q;
END PROSECC;
END BEHAV;
最后
以上就是糟糕小笼包为你收集整理的EDA与VHDL作业(5)- 1的全部内容,希望文章能够帮你解决EDA与VHDL作业(5)- 1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复