
网上查一下就有啊。
而且课本上还有的呢。
首先最简单的方法是列出真值表。写出逻辑表达式。然后根据逻辑表达式来写出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 程序,流水灯帮忙看看哪错了,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)