FPGA学习心得分享——交通灯(EGO1)

这篇具有很好参考价值的文章主要介绍了FPGA学习心得分享——交通灯(EGO1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  学期快结束了,学了一个学期FPGA课程,通过自己思索加上老师的指导我完成了自己第一份交通灯的作业,我希望把经验分享给学习Verilog遇到困难的同学,更希望大家都能顺利完成自己的作业。

  灯能左右改变方向,作品能够模拟红、黄、绿、左右转弯灯等形式,按键可以操控灯的状态。并且,作品具备三个交通方式。例如双闪缓行,应急通道。

  

做交通灯需要状态机的知识

根据状态机的输出信号是否与电路的输入有关分为 Mealy型状态机和 Moore 型状态机。

Mealy型状态机:电路的输出信号不仅与电路的当前的状态有关,还与电路的输入有关。

Moore型状态机:电路的输入仅与各触发器的状态有关,与电路的输入无关。

  一段式状态机、二段式状态机、三段式状态机各自的特点

一段式状态机: 仅适合非常简单的状态机设计,只涉及时序电路,消耗的逻辑比较少。

二段式状态机:在组合逻辑特别复杂时适用,但要注意需在后面加一个触发器以消除组合逻辑对输出产生的毛刺。三段式没有这个问题,由于第三个always会生成触发器。

三段式状态机:描述方法虽然代码结构复杂了一些,但是换来的优势是:使FSM做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,一般来说在FPGA/CPLD等可编程逻辑器件上的综合与布局布线效果更佳。

主程序如下

FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

FPGA学习心得分享——交通灯(EGO1)

 FPGA学习心得分享——交通灯(EGO1)

 管脚约束如下:

create_clock -period 10 [get_ports clk_100m]
set_property IOSTANDARD LVCMOS33 [get_ports {clk_100m}]
set_property PACKAGE_PIN P17 [get_ports {clk_100m}]

set_property IOSTANDARD LVCMOS33 [get_ports {rst_n}]
set_property PACKAGE_PIN P15 [get_ports {rst_n}]

######################################################

set_property IOSTANDARD LVCMOS33 [get_ports {sw[0]}]
set_property PACKAGE_PIN R1 [get_ports {sw[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sw[1]}]
set_property PACKAGE_PIN N4 [get_ports {sw[1]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sw[2]}]
set_property PACKAGE_PIN M4 [get_ports {sw[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sw[3]}]
set_property PACKAGE_PIN R2 [get_ports {sw[3]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sw[4]}]
set_property PACKAGE_PIN P2 [get_ports {sw[4]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property PACKAGE_PIN K2 [get_ports {led[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property PACKAGE_PIN J2 [get_ports {led[1]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[2]}]
set_property PACKAGE_PIN J3 [get_ports {led[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property PACKAGE_PIN H4 [get_ports {led[3]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[4]}]
set_property PACKAGE_PIN J4 [get_ports {led[4]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[5]}]
set_property PACKAGE_PIN G3 [get_ports {led[5]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[6]}]
set_property PACKAGE_PIN G4 [get_ports {led[6]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led[7]}]
set_property PACKAGE_PIN F6 [get_ports {led[7]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[0]}]
set_property PACKAGE_PIN D4 [get_ports {seg[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[1]}]
set_property PACKAGE_PIN E3 [get_ports {seg[1]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[2]}]
set_property PACKAGE_PIN D3 [get_ports {seg[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[3]}]
set_property PACKAGE_PIN F4 [get_ports {seg[3]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[4]}]
set_property PACKAGE_PIN F3 [get_ports {seg[4]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[5]}]
set_property PACKAGE_PIN E2 [get_ports {seg[5]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[6]}]
set_property PACKAGE_PIN D2 [get_ports {seg[6]}]

set_property IOSTANDARD LVCMOS33 [get_ports {seg[7]}]
set_property PACKAGE_PIN H2 [get_ports {seg[7]}]

set_property IOSTANDARD LVCMOS33 [get_ports {an[0]}]
set_property PACKAGE_PIN G6 [get_ports {an[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {an[1]}]
set_property PACKAGE_PIN E1 [get_ports {an[1]}]

set_property IOSTANDARD LVCMOS33 [get_ports {an[2]}]
set_property PACKAGE_PIN F1 [get_ports {an[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {an[3]}]
set_property PACKAGE_PIN G1 [get_ports {an[3]}]
 文章来源地址https://www.toymoban.com/news/detail-470628.html

到了这里,关于FPGA学习心得分享——交通灯(EGO1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【FPGA】EDA技术综合设计 交通灯设计

    1、设计原理 (1)对项目进行模块划分、对各模块的功能及其端口进行说明。 ①分频器部分 降低实验板固有频率,分出频率用来计数和数码管动态扫描。 ②状态机部分 0,1,2,3四个基础状态以及进一步完善后的检修和行人通行状态。 ③LED灯与数码管显示部分 LED灯模拟东西

    2024年02月12日
    浏览(48)
  • FPGA智能交通灯控制器系统系统设计

    把由5OM的有源晶振产生的现场可编程逻辑器件FPGA 的系统时钟输入到分频模块,经分频模块分频产生频率为1Hz的时钟脉冲,作为控制定时模块、控制模块、紧急模块、计数模块的时钟信号,然后再由定时模块来控制紧急模块和控制模块,按照交通管理规则控制交通工作状态的

    2024年02月04日
    浏览(49)
  • 基于FPGA的交通灯电路设计(含程序)

    目录 题目要求 设计方法 部分程序设计 (1) 以车为主体,绿灯、黄灯、红灯、绿灯依次点亮; (2)十字路口,具有两组红绿灯; (3)采用倒计时显示剩余时间,数码管动态显示; (4)红绿灯时间按键可调。 用六位数码管显示,靠左和靠右两位数码管分别显示东西和南北

    2024年02月11日
    浏览(41)
  • EDA实验(Quartus Ⅱ+fpga) (四)---交通灯设计

    前言: 本文主要介绍了EDA原理与应用这门课程的相关实验及代码。使用的软件是Quartus Ⅱ,该实验使用fpga芯片为cycloneⅤ 5CSEMA5F31C6。 (一)实验目的 (1)熟悉交通灯控制器的工作原理; (2)了解设计中的优化方案; (3)进一步掌握状态机的设计; (4)学习较复杂数字系

    2024年02月02日
    浏览(59)
  • 基于FPGA的交通灯设计(加强版,涵盖倒计时)

    ##一、实验任务要求   1)实现一交通十字路口处红绿灯的基本定时控制功能,要求东西方向灯色循环为绿灯45秒,黄灯5秒,左拐灯15秒,黄灯5秒,红灯40秒,黄灯5秒;南北方向灯色循环为红灯65秒,黄灯5秒,绿灯20秒,黄灯5秒,左拐灯15秒,黄灯5秒。 2)实现东西方向和南北方

    2024年02月04日
    浏览(42)
  • 基于高云FPGA开发板的十字路口交通灯

    结合高云MiniStar_Nano EDA开发板,完成设计十字路口交通信号灯控制系统。 1.要求该交通灯为三色灯控制器,红灯亮表示禁止通行,绿灯亮表示允许通行,黄灯亮表示要求压线车辆快速穿越。主干道和次干道灯的亮灭时序按照交通规则设置。 2.可以调整主干道和次干道绿灯和红

    2024年01月19日
    浏览(81)
  • 【论文笔记】IntelliLight智能交通灯:一种基于强化学习的智能交通信号灯控制方法

    博客声明:本文仅为个人论文阅读笔记,大部分原文对照的中文为翻译而来,只对其中错误明显的部分作了修改。其他一些个人理解不到位或有误的地方也尽请见谅。 标题原文: IntelliLight:A Reinforcement Learning Approach for Intelligent Traffic Light Control 论文来源: Proceedings of the 24

    2024年04月12日
    浏览(61)
  • Apollo星火计划学习笔记——Apollo决策规划技术详解及实现(以交通灯场景检测为例)

    Apollo星火计划课程链接如下 星火计划2.0基础课:https://apollo.baidu.com/community/online-course/2 星火计划2.0专项课:https://apollo.baidu.com/community/online-course/12 星火计划学习笔记——第七讲自动驾驶规划技术原理1 ●目的 ○ 保障无人车的行车安全并且遵守交规 ○ 为路径和速度的平滑优

    2024年02月07日
    浏览(51)
  • 实验(八):交通灯控制

            1. 学习模拟交通灯控制的实现方法;         2. 掌握Proteus硬件仿真与调试。         1.根据要求编写程序,并写出原理性注释;         2. 将检查程序运行的结果,分析一下是否正确;         3. 完成所建工程的仿真及调试。 按照电路要求在Protu

    2024年02月03日
    浏览(53)
  • VHDL交通灯

    交通灯控制电路设计 要求: (1)使用开发板自带的50MHz晶振作为时钟源; (2)电路具有6个LED输出,分别代表东西向红、黄、绿指示灯和南北向红、黄、绿指示灯;电路具有4个数码管输出,分别代表东西向倒计时和南北向倒计时信息; (3)电路对十字路口的两组交通灯的

    2024年02月03日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包