含异步清零及同步时钟使能的加法计数器设计.docVIP

  • 41
  • 0
  • 约2.02千字
  • 约 4页
  • 2017-08-20 发布于北京
  • 举报

含异步清零及同步时钟使能的加法计数器设计.doc

含异步清零及同步时钟使能的加法计数器设计

EDA实验报告书 姓名 学号 实验时间 课题名称 含异步清零和同步时钟使能的加法计数器设计 实验目的 学习计数器的设计、仿真和硬件测试方法; 2.进一步熟悉VHDL设计技术; 设计要求 设计一个24进制含异步清零和同步时钟使能的加法计数器,具体要求如下: 1.清零端高电平时,信号输出为0;使能端高电平时可以计数; 2.本计数器为上升沿触发; 3.计数器的输出为两路信号,分别代表计数值的个位和十位;两路信号以 BCD码输出。 设计思路 根据十进制使能端加法计数器设计24进制计数器,设计异步清零;清零端高电平时,信号输出为0;使能端高电平时可以计数。现根据书上设计出24进制计数器,再通过改进,变为两路输出BCD码。 设计原理图及源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY nb IS PORT(CLK,RD,EN:IN STD_LOGIC; CQ,CP:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC); END nb; ARCHITECTURE BBQ OF nb IS SIGNAL CG: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL CS: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,RD,EN) BEGIN IF RD=1 THEN CG=0000; CS=0000; ELSIF CLKEVENT AND CLK=1 THEN IF EN=1 THEN IF (CS=0010 AND CG=0011) THEN CG=0000; CS=0000; ELSIF CG=1001 THEN CG=0000; CS=CS+1; ELSE CG=CG+1; END IF; END IF; END IF; IF (CS=0010 AND CG=0011) THEN COUT=1; ELSE COUT=0; END IF; CQ=CG; CP=CS; END PROCESS; END BBQ; 仿真波形图 实验结果 问题讨论 设计一个60进制的加法计数器,具体要求与本实验中的24进制计数器相同 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JINZHI60 IS PORT(CLK,RD,EN:IN STD_LOGIC; CQ,CP:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC); END JINZHI60 ; ARCHITECTURE BBQ OF JINZHI60 IS SIGNAL CS,CG: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,RD,EN) BEGIN IF RD=1 THEN CG=0000; CS=0000; ELSIF CLKEVENT AND CLK=1 THEN IF EN=1 THEN IF (CS=0101 AND CG=1001) THEN CG=0000; CS=0000; ELSIF CG=1001 THEN CG=0000; IF CS=0101 THEN CS=0000; ELSE CS=CS+1; END IF; ELSE CG=CG+1; END IF; END IF; END IF; CQ=CG; CP=CS; IF (CS=0101 AND CG=1001) THEN COUT=1; ELSE COUT=0; END IF; END PROCESS; END BBQ; 教师评分 操作成绩 报告成绩 教师签名 日 期 3

文档评论(0)

1亿VIP精品文档

相关文档