交通灯电路及verilog实现
一、功能
二、verilog实现
// Design Name: traffic_light
// Module Name: traffic_light
// Description: ↓ ↓ ↓
// Create Date: 2022/3/28/*state:
s0: main-green, branch-red, when x=1 s0->s1
s1: main-yellow, branch-red, delay s1->s2
s2: main-red, branch-red, delay s2->s3
s3: main-red, branch-green, when x=0 s3->s4
s4: main-red, branch-yellow, delay s4->s1port:
input: clk,rst_n,x
output: main, branch*/`timescale 1ns / 1psmodule traffic_light(input clk,input rst_n,input x,output reg [1:0] main,output reg [1:0] branch
);parameter green = 2'd1,yellow = 2'd2,red = 2'd3;parameter s0 = 3'd0,s1 = 3'd1,s2 = 3'd2,s3 = 3'd3,s4 = 3'd4;reg [3:0] state;
reg [3:0] next_state;//state transfer
always @(posedge clk or negedge rst_n) beginif(!rst_n)state <= s0;elsestate <= next_state;
end//transfer logic
always @(*)begincase(state)s0: next_state = x ? s1 : s0;s1: #600 next_state = s2;s2: #600 next_state = s3;s3: next_state = x ? s3 : s4;s4: #600 next_state = s0;default: next_state = state;endcase
end//output
always @(posedge clk or negedge rst_n)beginif(!rst_n)beginmain <= green;branch <= red;endelse begincase(state)s0: begin main <= green; branch <= red; ends1: begin main <= yellow; branch <= red; ends2: begin main <= red; branch <= red; ends3: begin main <= red; branch <= green; ends4: begin main <= red; branch <= yellow; enddefault: begin main <= green; branch <= red; endendcaseend
endendmodule
tb文件:
`timescale 1ns / 1psmodule tb_traffic_light();parameter period = 10; //100mhzreg clk;
reg rst_n;
reg x;
wire [1:0] main;
wire [1:0] branch;always #(period/2) clk = ~clk;initial beginclk = 1'b0;rst_n = 1'b0;x = 0;#60rst_n = 1'b1;#1234x = 1;#1234x = 0;
endtraffic_light u_traffic_light(clk,rst_n,x,main,branch);endmodule
三、仿真&综合
仿真结果:
综合结果:
交通灯电路及verilog实现相关推荐
- FPGA开发基础——基于multisim以及Quartus实现的交通灯电路
作者:王子齐 学校:电子科技大学 学号:2018151202014 设计目的:完成对于FGPA开发的基础练习,建立FPGA开发思想. 目录 设计要求 基于multisim对于交通灯的电路搭建 1.1 ...
- 交通灯控制器的verilog实现
用状态机实现交通灯控制器,仿真通过,有代码以及testbench. 要求: 方向1是主干道,绿灯时间较长,交通灯状态循环为: 绿:40 黄:5 左:15 黄:5 红:55 方向2不是主干道,绿灯时间较 ...
- FPGA双模式交通灯的设计
一.设计要求 1.模块一:模拟十字路口主干道与辅道灯光变化情况: a.FPGA板上电后,控制显示的开关拨至高电平,进行五秒的倒计时,然后出现第一次红绿灯转换: b.接下来会根据所处不同的状态有不同的倒 ...
- 单片机交通灯的电路图以及代码_单片机晶振“问答篇”(下),17大单片机晶振问题全解答...
晶振,在现实生活中随处可见,因此人们对晶振的关注度逐渐提高.而对于单片机使用者而言,或多或少存在一些有关单片机晶振的疑问.为此,本文为大家带来17个网友提出的单片机晶振问题,并一一给出正确解答,以帮助 ...
- ewb交通灯报告和文件_基于EWB的交通灯设计
本文着眼于目前普遍应用在城市道路上的交通灯控制系统,从课程设计的题目要求出发,设计了一个十字路口主次街道的交通灯控制电路. 首先进行交通灯状态变换的分析和交通灯总体框架的设计,接着提出了2种电路设计方 ...
- 课程设计2:交通灯仿真设计
二.实验学时: 三.设计要求:: 设计并实现一个简单的十字路口交通灯控制电路.具体要求:以4个红色指示灯.4个绿色指示灯和4个黄色指示灯模拟路口东西南北4个方向的红绿黄交通灯.控制这些灯,使它们安下列 ...
- c语言交通灯控制设计和原理图,十字路口交通灯控制设计(附电路图及源代码).doc...
十字路口交通灯控制设计(附电路图及源代码) <计算机控制技术> 课程设计报告 课题名称 交通灯控制设计 专 业 班 级 学生姓名 学 号 指导教师 201*年 6 月 8日 目录 TOC ...
- 实验三 中断应用——行人过街交通灯
实验三 中断应用--行人过街交通灯 相关电路代码文件下载:https://wwe.lanzouw.com/ioorOyxic0h 目录 实验三 中断应用--行人过街交通灯 一.实验目的 二.实验内容 ...
- 8255,8253微机原理课程十字路口交通灯设计(带交通管制)
8255,8253微机原理课程十字路口交通灯设计(带交通管制) 前绪 CPU 采 用 8088 设 计 , 采 用 其 最 大 工 作 模 式 . 通 过 245,373,8288 等设计形成地址总线 ...
最新文章
- IE9上特定网站不断崩溃的故障
- scala的传值参数和传名参数
- Ajax — 大事件项目(第三天)
- 打开网页到我们看到页面显示的过程中发生了什么?
- HDU2048 神、上帝以及老天爷【递推】
- python美多商城项目百度网盘_美多商城项目(十)
- C语言画爱心代码分析
- java.lang.IllegalStateException报警
- rgb转hsi matlab,Matlab实现HSI与RGB转换 | 学步园
- demonstration记忆_单词记忆法
- iOS开发 iPhone各型号的屏幕参数对照表 (pt 、px)
- 【解决方案】EasyCVR安防视频云服务城市污水处理厂解决方案
- 算法图解(递归调用栈)
- 网络广告CPC、CPM和CTR的定义和关系
- Excel中通过FREQUENCY统计分数段
- 【游戏行业观察】篇1:成龙与《传奇》:传统网游营销模式的变迁
- 虚拟机中的ubuntu怎么设置1920X1080分辨率
- bluetooth a2dpsink
- 弘辽科技:淘宝直通车ROI怎么提升?直通车ROI多少正常?
- 英文月份简写、星期简写