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

这篇具有很好参考价值的文章主要介绍了【FPGA】EDA技术综合设计 交通灯设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

交通灯设计:

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

2、设计源文件
①主模块

`timescale 1ns / 1ps
module jiaotong(
    input clk_100MHZ,
    input rst,
    input stby,//检修
    output [7:0]dsmg,  //数码管段选
    output reg [1:0]wsmg,  //数码管位选
    output reg [5:0]led     //led灯:J3 J2 K2(东西红黄绿),K1 H6 H5(南北红黄绿)
    );
wire clk_1Hz;
wire clk_400Hz;
fenpin u1(clk_100MHZ,32'd50000000,clk_1Hz);   
fenpin u2(clk_100MHZ,32'd125000,clk_400Hz);

integer second;
integer shijian;  //秒数计数上限
reg [2:0]state;   //状态
    always @(state)   //状态定义
    begin
        case (state)
            0:begin led=6'b001100;shijian=40; end    //state=0:001100,东西绿灯亮,南北红灯亮,40s
            1:begin led=6'b010100;shijian=5; end     //state=1:010100,东西黄灯亮,南北红灯亮, 5s
            2:begin led=6'b100001;shijian=40; end
            3:begin led=6'b100010;shijian=5; end
            4:begin led=6'b010010;end                   //state=4:010010,东西黄灯亮,南北黄灯亮
            5:begin led=6'b000000;shijian=3;end     //state=5:000000,灯灭,延时3s   
        endcase 
    end
 always @(posedge clk_1Hz )
        begin
        begin
            if( rst == 1)  
            begin
                second = 0; 
                state = 0;
              end
            else if (rst == 0 && stby == 1)   
                state = 4;  
            else if (rst == 0 && stby==0 && state == 4 ) 
                second = 0; 
          end  
            
            if (state != 4) 
                second = second + 1;
            if (shijian == second) 
                second = 0;
            if (second==0)
                begin
                    case (state)
                    0,1,2 : state <= state +1 ;  //状态转换0-1-2-3-4-5-0
                        3 : state <= 0;
                        4 : state <= 5;
                        5 : state <= 0;
                    endcase
                 end
        end
reg [2:0]wei;    
reg [3:0]num;   
shumaguang u3(num,dsmg);
//数码管显示
    always @(posedge clk_400Hz)
        begin
            if(!wei)    
                wsmg=8'b00000001;
            else   
                wsmg = wsmg << 1;
            case(wei)
                0:num=(shijian-second)%10;  //数码管个位
                1:num=(shijian-second)/10;  //数码管十位
                2:num=10;
                3:num=10;
                4:num=10;
                5:num=10;
                6:num=10;
                7:num=10;
            endcase     
            wei = wei + 1'b1;             
        end
endmodule

②分频器模块

module fenpin(
input clk_100MHZ,
input[31:0] div,
output reg clk_Hz
    );
integer clk_cnt; //计数器的值     
always @(posedge clk_100MHZ)
       begin
         if(clk_cnt==div)//判断计数器的值是否计数到div   
         begin 
         clk_cnt <= 1'b0; 
         clk_Hz <= ~clk_Hz;end  //如果计数到div,计数器的值清零,同时clk_Hz的电平翻转一次,即分频后频率100MHz/div/2
         else
         clk_cnt <= clk_cnt + 1'b1;//计数没有到div,计数值加1   
       end 
endmodule

③数码管模块

module shumaguang(
    input  [3:0]num,
    output reg [7:0]dsmg
    );
    always @(*)
        case (num)
            0:dsmg <= 8'b00111111;
            1:dsmg <= 8'b00000110;
            2:dsmg <= 8'b01011011;
            3:dsmg <= 8'b01001111;
            4:dsmg <= 8'b01100110;
            5:dsmg <= 8'b01101101;
            6:dsmg <= 8'b01111101;
            7:dsmg <= 8'b00000111;
            8:dsmg <= 8'b01111111;
            9:dsmg <= 8'b01101111;
            10:dsmg <= 0;
        endcase
endmodule

3、仿真测试文件

`timescale 1ns / 1ps
module sim_jiaotongdeng(  );
reg clk;
reg rst;
reg stby;//检修
wire[5:0]led;
jiaotong a1(.clk_100MHZ(clk),.rst(rst),.stby(stby),.led(led));
parameter PERIOD = 10;   //固定计数周期
always begin
clk = 0;
#(PERIOD/2) clk = 1; 
#(PERIOD/2);
end
initial begin 
    clk = 0; 
    rst = 1;
    stby = 0;
    #100;
    rst = 0;
    #100; //延时 
    stby = 1;
end
endmodule

仿真结果
交通灯eda,状态机,EDA,fpga开发
实验板部分结果
交通灯eda,状态机,EDA,fpga开发
交通灯eda,状态机,EDA,fpga开发
交通灯eda,状态机,EDA,fpga开发文章来源地址https://www.toymoban.com/news/detail-521828.html

到了这里,关于【FPGA】EDA技术综合设计 交通灯设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • FPGA实验四:交通灯控制器设计

    目录 一、实验目的 二、设计要求 三、实验代码 1.design source文件代码

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

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

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

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

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

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

    2024年02月04日
    浏览(42)
  • 电子技术课程设计—交通灯控制系统设计

    目录 摘要 1 设计目的及要求 1.1设计目的 1.2 题目与要求 2 总体方案设计 2.1 提出原理方案 方案(1):基于同步模型的电路设计 方案(2):基于异步模型的加法计数电路设计 方案(3):基于异步模型的减法计数电路设计 2.2 原理方案的确定 3 单元电路设计及仿真 3.1 秒脉冲电

    2024年02月03日
    浏览(63)
  • FPGA学习心得分享——交通灯(EGO1)

      学期快结束了,学了一个学期FPGA课程,通过自己思索加上老师的指导我完成了自己第一份交通灯的作业,我希望把经验分享给学习Verilog遇到困难的同学,更希望大家都能顺利完成自己的作业。   灯能左右改变方向,作品能够模拟红、黄、绿、左右转弯灯等形式,按键可以

    2024年02月07日
    浏览(49)
  • 【EDA课程设计】FPGA交通信号灯的设计(含动画视频、超详细思路/步骤分析、完整代码与效果详解)

    ✨你好啊,我是 “ 怪 ” ,是一名在校大学生哦。 🌍主页链接:怪的个人博客主页 ☀️博文主更方向为: 课程学习知识、作业题解、期末备考。 随着专业的深入会越来越广哦…一起期待。 ❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。 💪很高兴与你相遇,

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

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

    2024年01月19日
    浏览(80)
  • 单片机8051设计交通灯

    目录 一、功能要求 要求实现的功能 二、设计方案 1.系统时钟 2. 红绿灯时长及夜间模式时间段的存储 3.紧急情况设计 4.夜间模式设计 5.夜间行人过路设计 6.系统时钟及系统参数设置显示 7.数码管显示倒计时 8.LED显示红绿灯 三、系统硬件设计 1.数码管显示 2.矩阵键盘 3.蜂鸣器

    2024年01月17日
    浏览(46)
  • 单片机交通灯设计实例

    目录 一、初步设计 二、实现过程 三、实现效果 一、初步设计 在Profession中设计一个交通灯的仿真图,结合Keil编写c语言代码实现十字路口的交通灯变化。设计的交通灯主要变化有如下五种情况:(可根据自身的交通灯变化情况进行相应的代码修改) 第一种情况:东西红灯,南

    2024年02月07日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包