EDA实验报告:十进制计数器

  • 格式:pdf
  • 大小:247.11 KB
  • 文档页数:7

实 验 报 告

课程名称 EDA原理及应用 实验名称 十进制计数器

实验类型 验证 学 时 2 系 别 专 业

年级班别 级 班 开出学期 第 期 学生姓名 学 号

实验教师 成 绩

编 号 年 月 日

重庆三峡学院实验报告纸

2 一、实验目的

1. 熟悉数码管的工作原理;

2. 熟悉D触发器的工作原理; 二、实验内容 用VHDL语言设计一个带有异步复位和同步加载功能的十进制加法计算器: 1. 用VHDL语言编辑;

2. 生成波形仿真;

3. 熟悉分析芯片管脚的操作过程;

4. 下载到试验箱进行仿真。

三、实验过程、步骤及结果

一.学习D触发器:

D触发器模块图

D触发器时序波形图

由D触发器模块图可知:D触发器两个输入信号,一个是时钟信号(CLK),

一个是输入信号(D);一个输出信号(Q)。

由D触发器时序波形图可知:当CLK为上升沿的时候,输出D对应的状重庆三峡学院实验报告纸

3 态(0或1),直到下一个上升沿。 二.基本时序元件的VHDL表述:

时钟信号的上升沿描述:clock’event and clock = ‘1’;

时钟信号的下降沿描述:clock’event and clock = ‘0’; 三.编写程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY jishuqi is

PORT(

CLR,EN,CLK: IN STD_LOGIC;

JinWein : OUT STD_LOGIC;

SEGOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --

SEG7 Display O/P

SELOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --

Select SEG7 O/P

Q : buffer STD_LOGIC_VECTOR( 3 DOWNTO 0); -- 重庆三峡学院实验报告纸

4 Number Display Signal

M : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)

);

END jishuqi;

ARCHITECTURE a OF jishuqi IS

SIGNAL CO : STD_LOGIC;

BEGIN

M <= "0010";

SELOUT <= "11111110";

PROCESS(clk)

BEGIN

IF(CLK'event and CLK ='1') THEN

IF(CLR='1') THEN

Q<="0000";

ELSIF(EN='1') THEN

IF(Q="1001") THEN

Q<="0000";

ELSE

Q <= Q+1;

END IF;

END IF;

END IF;

END PROCESS; 重庆三峡学院实验报告纸

5 JINWein <='1' when EN='1' and Q="1001"

else '0';

PROCESS(Q)--数码管的段选

BEGIN

CASE Q IS

when "0000" => SEGOUT <= "00111111" ;--0

when "0001" => SEGOUT <= "00000110" ;--1

when "0010" => SEGOUT <= "01011011" ;--2

when "0011" => SEGOUT <= "01001111" ;--3

when "0100" => SEGOUT <= "01100110" ;--4

when "0101" => SEGOUT <= "01101101" ;--5

when "0110" => SEGOUT <= "01111101" ;--6

when "0111" => SEGOUT <= "00000111" ;--7

when "1000" => SEGOUT <= "01111111" ;--8

when "1001" => SEGOUT <= "01101111" ;--9

when others => NULL;

END CASE ;

END PROCESS;

END a; 四.绘制波形并仿真: 重庆三峡学院实验报告纸

6

1. 当时钟信号(CLK)为高电平,且CLR也为高电平时,计数清0,并重

新开始计数;

2. 当使能信号EN为低电平的时候,保持;

3. 当Q值等于9时,jinwei信号发生一次翻转,表示进位一次。

4. 显示4,数码管编码为:01100110 五:分配管脚:

1.添加管脚信息,选择 【Assignments】→【Pin Planner】, 为每个节点分配引脚;或者点击快捷方式进行管脚分配。

重庆三峡学院实验报告纸

7 2. 将未分配的管脚置为三态输入:

【Assignments】→【Device…】 →【Device】 →【Device & Pin

Options…】 →【Unused Pins】 →【Reserve all unused pins : AS input

tri-stated】。

四、实验总结

1.通过本次实验了解十进制同步加载、异步复位计数器的工作原理:

A. 时钟信号(CLK)为上升沿时,计数一次;

B. 十进制数计数0~9,满9进1;

2.D触发器是CMOS数字集成电路单元中时序逻辑电路中的重要组成部

分之一;D触发器属于时钟控制触发,时钟信号为高电平时触发器改变

输出状态。

3.当时钟信号(CLK)为高电平,且CLR也为高电平时,计数清0,CLR

是高电平清0还是低电平清0是由程序指定;

4.当使能信号EN为低电平的时候,保持;EN是高电平还是低电平保持

是由程序指定;