四位十进制加法计数器

  • 格式:doc
  • 大小:148.00 KB
  • 文档页数:3

下载文档原格式

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

四位十进制加法计数器

一、实训目的

1.巩固编译、仿真VHDL文件的方法。

2.掌握VHDL程序顺序语句的应用。

3.掌握四位二进制加法计数器的工作原理。

二、实训器材

计算机与Quartus Ⅱ工具软件。

三、实训指导

(一)实训原理

四位十进制加法计数器真值表如表6-1所示。

表6-1 四位十进制加法计数器的真值表

输入输出

CR LD CP DIR D3 D2 D1 D0 Q3 Q2 Q1 Q0

1 X X X X X X X 0 0 0 0

0 0 X X d3 d2 d1 d0 d3 d2 d1 d0

0 1 ↑ 1 X X X X 加法计数

0 1 ↑0 X X X X 减法计数

0 1 1 X X X X X 保持

(二)实训步骤

1.设计输入VHDL文件

(1)建立工程项目。

(2)建立VHDL文件。

(3)设计输入VHDL文件,可用IF语句或CASE语句等顺序语句设计。

VHDL代码如下:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY JIAJIANJISHU IS

PORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

CR,CP,LD,DIR:IN STD_LOGIC;

CO,BO:OUT STD_LOGIC;

Q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));

END JIAJIANJISHU;

ARCHITECTURE W OF JIAJIANJISHU IS

BEGIN

PROCESS(CR,CP,DIR,LD,D)

BEGIN

IF CR='1' THEN Q<="0000";

ELSIF LD='0' THEN Q<=D;

ELSE

IF (CP='1' AND CP'EVENT) THEN

IF DIR='1' THEN Q<=Q+1;

IF Q=9 THEN Q<="0000";

END IF;

ELSIF DIR='0' THEN Q<=Q-1;

IF Q=0 THEN Q<="1001";

END IF;

END IF;

END IF;

END IF;

END PROCESS;

CO<=Q(3) AND Q(0)AND DIR;

BO<=(NOT Q(3))AND(NOT Q(2))AND (NOT Q(1)) AND (NOT Q(0))AND (NOT DIR); END W;

2.编译仿真VHDL文件

(1)编译VHDL文件。

如果有错误,检查并纠正错误,直至最后通过。

(2)仿真VHDL文件。

认真核对输入/输出波形,检查设计的功能是否正确。

四位十进制加法计数器的仿真波形图如图6-1所示。

图6-1 四位十进制加法计数器仿真波形图

四、实训总结

通过本次试验我熟练了VHDL文件的编译与仿真,在编辑程序的同时对四位

十进制加法计数器有了更深的理解,并且巩固了IF语句的应用。