求助:VHDL语言设计一个交通灯

求助:VHDL语言设计一个交通灯,第1张

网上查一下就有啊。

而且课本上还有的呢。

首先最简单的方法是列出真值表。写出逻辑表达式。然后根据逻辑表达式来写出vhdl程序。在编译=》仿真=》功能分析=》输出延时=》下载程序

求是科技VHDL应用开发技术与工程实践北京:人民邮电出版社,2005, 1

赵鑫VHDL与数字电路设计北京:机械工业出版社,2005,4

陈耀和VHDL语言设计技术北京:电子工业出版社,2004,3

刘瑞新VHDL语言与FPGA设计北京:机械工业出版社,2004,4

这几本书里好象有,我以前找资料的时候好象遇到过,你查查看吧

led_t 应该改成std_logic_vector(7 downto 0)。如下:

signal led_t:std_logic_vector(7 downto 0);

另外clk和led建议改为std_logic。

port(clk:in std_logic;

led:out std_logic);

首先最简单的方法是列出真值表。写出逻辑表达式。然后根据逻辑表达式来写出vhdl程序。在编译=》仿真=》功能分析=》输出延时=》下载程序 1设计原理

在这个实例中,我们设计一个简单的十字路口交通灯。交通灯分东西和南北两个方向,均通过数码管和指示灯指示当前的状态。设两个方向的流量相当,红灯时间45s,绿灯时间40s,黄灯时间5s

从交通灯的工作机理来看,无论是东西方向还是南北方向,都是一个减法计数器。只不过计数时还要判断红绿灯情况,再设置计数器的模值。

下表所示为一个初始状态和4个跳变状态。交通灯工作时状态将在4个状态间循环跳变,整个交通灯则完全按照减计数器原理进行设计。

状态 当前计数值 下一个CLOCK到来时新模值

东西方向指示 南北方向指示 东西-南北方向指示 东西方向指示 南北方向指示 东西-南北方向指示

初始 0 0 45 40 红-绿

1 6 1 红-绿 5 5 红-黄

2 1 1 红-黄 40 45 绿-红

3 1 6 绿-红 5 5 黄-红

4 1 1 45 40 红-绿

2部分程序

library ieee;

use ieeestd_logic_1164all;

use ieeestd_logic_unsignedall;

entity traffic is

port(clk, urgency: in std_logic;

east_west:buffer std_logic_vector(7 downto 0);--东西方向时钟计数

south_north: buffer std_logic_vector(7 downto 0); --南北方向的时钟计数

led:buffer std_logic_vector(5 downto 0)); --交通指示灯

end traffic;

architecture arch of traffic is

。。。。。。。

end arch;

3具体设计步骤

1) 建立一个新的工程完成上面的电路设计

2) 编译电路并使用功能仿真来验证设计

3) 引脚配置,如Part I中讨论的,这些配置是确保VHDL代码中输出端口能使用PFGA芯片上连接到LEDR和LEDG的引脚。重新编译项目,并下载到FPGA芯片上。

4) 测试电路的正确性。

之前做过,但是程序找不到了。提供一个思路,将汉字用字符软件转成HEX数据,存在ROM中,然后FPGA从ROM中读出送到点阵上,滚动其实就是将点阵的地址左移或右移。很简单的。建议你自己动手做一下,比拿别人的程序跑更有意义。

以上就是关于求助:VHDL语言设计一个交通灯全部的内容,包括:求助:VHDL语言设计一个交通灯、Fpga跑马灯 Vhdl语言设计、vhdl 程序,流水灯帮忙看看哪错了,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9368837.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存