时序逻辑VHDL设计——计数器.doc_第1页
时序逻辑VHDL设计——计数器.doc_第2页
时序逻辑VHDL设计——计数器.doc_第3页
时序逻辑VHDL设计——计数器.doc_第4页
时序逻辑VHDL设计——计数器.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验名称: 实验6 时序逻辑VHDL设计计数器 班级: 09电气2Z 学号: 09312213 姓名: 钱雷 一、结合74160芯片的逻辑功能,对(1)中所设计的程序进行改进,用VHDL设计一个带有高电平使能信号,低电平清零信号,低电平置数信号的十进制计数器。1.实体框图2.程序设计编译前的程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CNT10 isport(CLK,RST,LD,EP,ET:in std_logic; D:in std_logic_vector(3 downto 0); Q:out std_logic_vector(3 downto 0); CO:out std_logic);end CNT10;architecture behav of CNT10 isbeginprocess(CLK,RST,LD,EP,ET)variable QI:std_logic_vector(3 downto 0);beginif RST=0 then QI:=(others=0);elsif CLKEVENT and CLK=1 then if LD=0 then QI:=D;elsif EP=1 and ET=1 then if QI0);end if;end if;if QI=9 then CO=1;else CO=0;end if;Q0);elsif CLKEVENT and CLK=1 then if LD=0 then QI:=D;elsif EP=1 and ET=1 then if QI0);end if;end if;end if;if QI=9 then CO=1;else CO=0;end if;Q=QI;end process;end behav;3.仿真波形图4.仿真波形分析输入端D0D3是输入置数端,EP,ET是使能端,并且高电平有效,LD是置数控制端口,低电平有效,RST是清零端,低电平有效。在CKL脉冲下,当RST为低电平时,Q清零;当LD为高电平的时候,Q实现十进制数计数功能;当LD为低电平时,实现置数功能,Q=D。二、76进制的BCD码的VHDL设计1.实体框图2.程序设计正确的程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CDU_76 isport(CLK:in std_logic; Q:out std_logic_vector(7 downto 0);end entity CDU_76;architecture AAA of CDU_76 issignal COUT2,COUT1:std_logic_vector(3 downto 0);beginprocess(CLK)beginif(CLKevent and CLK=1) thenif(COUT2=7 and COUT1=5) then COUT2=0000;COUT1=0000; elsif(COUT1=9) then COUT2=COUT2+1;COUT1=0000;else COUT2=COUT2;COUT1=COUT1+1;end if;end if;end process;Q=COUT2&COUT1;end architecture AAA;3.仿真波形图4.仿真波形分析输入脉冲信号CLK,然后进行76进制的BCD码计数,BCD码是四位二进制数,所以76分成高四位和低四位。76进制计数有075这76个状态。当个位数计数到9时向高位进位,个位清零,其余情况十位不变,个位计数。三、156进制的BCD码的VHDL设计1.实体框图2.程序设计编译前的程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CDU_76 isport(CLK:in std_logic; Q:out std_logic_vector(7 downto 0);end entity CDU_76;architecture AAA of CDU_76 issignal COUT2,COUT1:std_logic_vector(3 downto 0);beginprocess(CLK)beginif(CLKevent and CLK=1) thenif(COUT2=7 and COUT1=5) then COUT2=0000;COUT1=0000; elsif(COUT1=9) then COUT2=COUT2+1;COUT1=0000;else COUT2=COUT2;COUT1=COUT1+1;end if;end if;end process;Q=COUT2&COUT1;end architecture AAA;程序编译错误情况正确的程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CDU_156 isport(CLK:in std_logic; Q:out std_logic_vector(11 downto 0);end entity CDU_156;architecture AAA of CDU_156 issignal COUT3,COUT2,COUT1:std_logic_vector(3 downto 0);beginprocess(CLK)beginif(CLKevent and CLK=1) then if(COUT3=1 and COUT2=5 and COUT1=5) then COUT3=0000;COUT2=0000;COUT1=0000;else if(COUT1=9 and COUT2=9) then COUT3=COUT3+1;COUT1=0000;COUT2=0000;else if(COUT1=9) then COUT2=COUT2+1;COUT1=0000;COUT3=COUT3;else COUT3=COUT3;COUT2=COUT2;COUT1=COUT1+1;end if;end if;end if;end if;end process;Q=COUT3&COUT2&COUT1;end architecture AAA;3.仿真波形图4.仿真波形分析输入脉冲信号CLK

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论