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是高电平还是低电平保持
是由程序指定;