实验三 十进制计数器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三十进制计数器的设计

一、实验目的

1、掌握流程控制语句(IF语句和CASE语句)的使用。;

2、掌握计数器进制的设置原理。

3、熟练掌握矢量类型数据与进程语句的使用。

4、掌握IF语句的嵌套使用方法,

二、实验内容

1、完成多功能十进制加法计数器的VHDL设计。

2、正确设置仿真激励信号,全面检测设计逻辑。

3、综合下载,进行硬件电路测试。

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt100 is

port(clk,rst,en,load: in std_logic;

data:in std_logic_vector(3 downto 0);

dout:out std_logic_vector(3 downto 0);

cout:out std_logic);

end cnt100;

architecture behav of cnt100 is

begin

process(clk,rst,en,load)

variable Q :std_logic_vector(3 downto 0);

begin

if rst='0' then Q:=(others=>'0';

elsif clk'event and clk='1' then

if en='1' then

if(load='0') then Q:=data;else

if Q<9 then Q:=Q+1;

end if;

end if;

end if;

end if;

if Q="1001" then cout<='1';

else cout<='0'; end if;

dout<=Q;

end process;

end behav;

Clk:10ns En:30ns RST:200ns

三、实验说明

时钟信号clk,复位信号RST,时钟使能信号EN,其中任一信号发生变化,启动进程process语句,具有以下功能:清零、使能、向高位进位。

四、实验步骤

1.对文件进行建立,是txt

2.添加相关程序,保存文件位vhd

3.设置工程为底层

4.对程序进行编译

5.没有错后对波形图进行新建

6.设置输入得出输出波形

五、实验小结:

本次实验是十进制加法计数器的设计,此次实验根据课本中的相关内容,很快完成,但在实验程序进行编译时,一直出现“vhd语法错误,意外的文件丢失”这样的问题,由于没有任何错误的头绪,于是对文件重新建立,以及多方验证,认为是相关端口的小写造成的,经此次实验,完成过程需要注意些许细节,以及对程序的理解。

相关文档
最新文档