十进制计数器的设计
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文件中的设计实体名保持一致。
总结:这次课程设计虽然在功能上完全实现了课题的要求,即实现了数据比较器的全部要求,但是相应的不足之处还应该考虑到。虽然是细节问题,但往往可以决定成败,试着理解程序。
相关文章推荐
- 《Head First 设计模式(中文版)》书评
- Android sqlite3数据库开发中的sqlite3 not found 问题的解决
- ZOJ 1002 Fire Net
- IOS开发基础知识--碎片25
- 字符串及行数
- GRUB笔记:grub.conf解析 stage介绍 grub故障及安装
- HDU 1542 Atlantis(线段树求矩形面积并)
- 九宫格布局实现
- 高斯克吕格投影中有关带号与经度的关系
- CTABCTRL分页控件的使用
- (原创)c#学习笔记04--流程控制01--布尔逻辑01--布尔赋值运算符
- HDU 1272
- 将富文本编辑器内的图片变成响应式
- 第三周 项目四 顺序表的应用1 (。。)
- 使用UIPickerView实现简单的城市选择器
- 我理解的机器视觉
- mavlink http
- 关于PPP认证中的PAP和CHAP原理取证与相关疑问
- http://blog.sina.com.cn/u/5688833365
- 走出迷宫