十进制计数器的设计

来源:互联网 发布:淘宝怎么批量发布宝贝 编辑:程序博客网 时间:2024/04/30 09:58
目的

  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文件中的设计实体名保持一致。

总结:这次课程设计虽然在功能上完全实现了课题的要求,即实现了数据比较器的全部要求,但是相应的不足之处还应该考虑到。虽然是细节问题,但往往可以决定成败,试着理解程序。 






0 0
原创粉丝点击