EDA实验二含异步清零和同步使能的十进制加减法
计数器
一、实验目的
1.了解加减计数器的工作原理。
2.进一步熟悉QUARTUSII 软件的使用方法和VHDL 输入。
3.熟悉仿真时序设定。
二、实验设备
1.PC机一台;
四、实验内容
完成一个0~99计数器,有四个输入信号:复位reset、使能enable、时钟clk和加减选择sel,三路输出信号:计数值、进位和借位信号。要求每来一个时钟信号,加或减1(sel=‘0’时执行加,sel=‘1’时执行减);计数值为99时再加1,输出进位信号,并且计数值归零;计数值为0时再减1,输出借位信号,并且计数值变成99(即0~99循环计数);复位信号reset 有效时(低电平有效)计数值清0,使能信号enable有效时(高电平有效)计数器才进行工作,否则不进行累加或累减。
五、实验步骤
1.打开QUARTUSII 软件,新建一个VHDL文件。
2.输入程序代码,点击保存时,系统会提示建立一个新的工程(Project),按照QUARTUSII 的提示建立好工程;
3.按照实验原理和自己的想法,在VHDL 编辑窗口调整完成VHDL 程序;
4.对自己编写的VHDL 程序进行编译,对程序的错误进行修改;
5.进行仿真,
附录:
电路实体定义可参照如下:
ENTITY counter IS
PORT( clk, reset, enable ,sel : IN STD_LOGIC; --定义时钟、异步复位、同步使能、选择信号cq : OUT STD_LOGIC_VECTOR(6 downto 0); --计数值
c1out : OUT STD_LOGIC; --进位信号
c2out : OUT STD_LOGIC--借位信号
);
END counter;