您的位置:首页 > 其它

十进制计数器的设计

2015-10-19 22:04 190 查看


目的

1. 学习VHDL中IF_THEN条件语句的使用。

2. 掌握4位二进制数据比较器的设计思路。

内容
1. 用拨码开关SW3~SW0作为输入信号A3~A0的输入,SW7~SW4作为输入信号B3~B0的输入,SW10~SW8分别作为输入信号A大于B(AGBI)、A等于B(AEBI)、A小于B(ALBI)的输入, LEDR2~LEDR0分别作为输出信号A大于B(AGBO)、A等于B(AEBO)、A小于B(ALBO)的输出。

2. 观察输出信号与数据输入端的关系,验证4位数据比较器设计的正确性。

原理
二进制比较器是提供关于两个二进制操作数间关系信息的逻辑电路。两个操作数的比较结果有三种情况:A 等于 B、A 大于 B 和 A 小于 B。

四位二进制比较器74LS85的引脚图如图2-29所示。其真值表如表2-4所示。



图2-29 74LS85引脚图






表 2-4 74LS85真值表

操作

1.创建一个Quartus II 工程,用来在DE2-115上实现预期电路。

2.写出预期电路的VHDL代码。

3.将VHDL文件包含进工程并编译。

4.仿真电路来检测其功能。

5.分配引脚。

6.重新编译并将其下载进FPGA芯片中。

7. 通过DE2-115开发板来证实电路是否准确。

代码

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

entity c74LS85 is

port ( A,B:in std_logic_vector(3 downto 0);

AGBI,AEBI,ALBI:in std_logic;

AGBO,AEBO,ALBO:out std_logic);

end c74LS85;

architecture arch of c74LS85 is

begin

process(A,B, AGBI,AEBI,ALBI)

begin

if A>B then

AGBO<='1';

AEBO<='0';

ALBO <='0';

elsif A<B then

AGBO <='0';

AEBO <='0';

ALBO <='1';

else

AGBO <= AGBI;

AEBO <= AEBI;

ALBO <= ALBI;

end if;

end process;

end arch;

仿真结果图






问题及解决
文件名必须与VHDL文件中的设计实体名保持一致。

总结:这次课程设计虽然在功能上完全实现了课题的要求,即实现了数据比较器的全部要求,但是相应的不足之处还应该考虑到。虽然是细节问题,但往往可以决定成败,试着理解程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: