一、 设计思路

1)设计一个十字路口交通灯控制器。交通灯处于东西大街和南北大街,如图2-1所示用寄存器模拟十字路口交通信号控制情况。当东西方向为绿灯时,南北方向为红灯,二南北方向为绿灯时,东西方向为红灯。东西向通行时间为11s,南北向通行时间为11s。

图2-1路口示意图

diagrammatic sketch

2)东西、南北方向黄灯都亮3s。

3)用高低电平分别表示灯灭灯亮,用计数器实现状态跳转。

二、设计原理

1.首先了解实际交通灯的变化情况和规律。初始时东西向绿灯,g1输出高电平,南北向红灯,r2输出高电平。12个时钟脉冲后,原绿灯方向变为黄灯,再3个时钟脉冲后,黄灯方向变红灯,同时原红灯方向变绿灯;随后又是12个时钟脉冲后,当前绿灯方向又变为黄灯,再过3个时钟脉冲后,黄灯方向变红灯,同时当前红灯方向又变为绿灯,如此循环往复。

2.共有四种状态,状态1东西方向绿灯亮11秒,南北方向红灯亮 11;状态2东西方向黄灯亮3秒,南北方向红灯亮 3秒;状态3东西方向红灯亮11秒,南北方向绿灯亮 11秒;状态4东西方向红灯亮3秒,南北方向黄灯亮 3秒。列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)

表2-1 状态表

state table

三、各输入输出变量说明

clk:计数时钟;

r1,r2,g1,g2,y1,y2:分别代表东西方向,南北方向红绿黄灯;

cnt: 译码器输出

中间变量:

code:代表r1,r2,g1,g2,y1,y2;

module DecCounter(clk,cnt);

output[4:0] cnt;

reg[4:0] cnt;

wire clr:清零信号;

module Decoder(cnt,code);

output[5:0] code;

reg[5:0] code;

四、主要程序代码:

module traffic_light(clk,r1,y1,g1,r2,y2,g2);input clk;output r1,y1,g1,r2,y2,g2;reg[5:0] buf1=6'b001100;wire[4:0] cnt;wire[5:0] code;DecCounter u1(clk,cnt);Decoder u2(cnt,code);always @(posedge clk)beginbuf1=code;endassign {r1,y1,g1,r2,y2,g2}=buf1;
endmodulemodule Decoder(cnt,code);input[4:0] cnt;output[5:0] code;reg[5:0] code;always @(cnt)begincase(cnt)5'b00000: code=6'b001100;5'b00001: code=6'b001100;5'b00010: code=6'b001100;5'b00011: code=6'b001100;5'b00100: code=6'b001100;5'b00101: code=6'b001100;5'b00110: code=6'b001100;//75'b00111: code=6'b000100;5'b01000: code=6'b001100;5'b01001: code=6'b000100;5'b01010: code=6'b001100;//45'b01011: code=6'b010100;5'b01100: code=6'b010100;5'b01101: code=6'b010100;//35'b01110: code=6'b100001;5'b01111: code=6'b100001;5'b10000: code=6'b100001;5'b10001: code=6'b100001;5'b10010: code=6'b100001;5'b10011: code=6'b100001;5'b10100: code=6'b100001;//75'b10101: code=6'b100000;5'b10110: code=6'b100001;5'b10111: code=6'b100000;5'b11000: code=6'b100001;//45'b11001: code=6'b100010;5'b11010: code=6'b100010;5'b11011: code=6'b100010;//3default:  code=6'b000000;endcaseend
endmodulemodule DecCounter(clk,cnt);input clk;output[4:0] cnt;reg[4:0] cnt;wire clr;assign clr=~(cnt[4]&cnt[3]&cnt[1]&cnt[0]);always @(posedge clk)begincnt[4]<=clr&(cnt[4]^(cnt[3]&cnt[2]&cnt[1]&cnt[0]));cnt[3]<=clr&(cnt[3]^(cnt[2]&cnt[1]&cnt[0]));cnt[2]<=clr&(cnt[2]^(cnt[1]&cnt[0]));cnt[1]<=clr&(cnt[1]^cnt[0]);cnt[0]<=clr&(~cnt[0]);end
endmodule

说明:蛮久以前写的,从课程设计报告上粘下来的,没写注释,代码里面包括了竞争冒险的消除,有问题可以留言。

运行截图:

Verilog语言交通灯课程设计相关推荐

  1. C语言红绿灯课程设计,C语言版交通灯课程设计.doc

    C语言版交通灯课程设计 微机控制课程设计报告 课程名称 基于C语言单片机交通灯 学生姓名 张 万 双 学号 51102022004 专业班级 电子信息科学与技术2班 指导老师 2013年12月5日 目 ...

  2. 52单片机交通灯课程设计

    单片机交通灯课程设计 1. 实验目的和器件 1.1实验目的 (1)通过单片机课程设计,熟练掌握C语言的编写方法,将理论联系到实际中去,提高我们的动手和动脑能力. (2)通过交通信号灯控制系统的设计,掌 ...

  3. 基于单片机的十字路口交通灯课程设计

    1.设计要求: 设计一个十字路口交通灯控制器.用单片机控制LED灯模拟指示.模拟东西方向的十字路口交通信号控制情况.东西向通行时间为80s,南北向通行时间为60s,缓冲时间为3s. 2.设计思路: 通 ...

  4. c语言交通灯控制设计和原理图,十字路口交通灯控制设计(附电路图及源代码).doc...

    十字路口交通灯控制设计(附电路图及源代码) <计算机控制技术> 课程设计报告 课题名称 交通灯控制设计 专 业 班 级 学生姓名 学 号 指导教师 201*年 6 月 8日 目录 TOC ...

  5. 计算机硬件交通灯课程设计,交通灯计算机硬件课程设计(附件).doc

    交通灯管理系统的设计 专 业:自动化 班 级:2010级 04班 组长:梅 登 组员:陈 冶 组员:谢海龙 组员:徐拓燃 指导老师: 黄勤 2013年9月 目 录 1.基本功能设计1 1.1 基本功能 ...

  6. 现代交通灯的设计C语言编程,交通灯设计_优秀论文.doc

    . PAGE .. 毕业论文(设计) 题 目 基于单片机控制的 交通灯的设计 _ 学生姓名 学 号 专业班级 指导教师 完成时间: 201 年 月 日 . PAGE .. 摘 要 交通信号灯的出现,使 ...

  7. Verilog实现交通灯(数电课设)----------旧

    这里是新写的交通灯Verilog实现交通灯(数电课设)----------新:https://blog.csdn.net/qq_41467882/article/details/86626507 里边 ...

  8. 51单片机 时间控制的不同时段交通灯控制设计(简单版)

    这个交通灯的设计时简单版,只有一个路口(不是十字路口)的那种(想要实现十字路口可以对代码稍加修改) 使用的开发软件:Keil uVision5 单片机类型为:C51 语言类型:C语言 在这里说一下实现 ...

  9. 基于fpga的交通灯的设计

    课题一:交通灯控制设计 1.课程设计的目的与要求 1.1目的 以FPGA为核心,设计一个交通灯控制器,每个路口都有红.黄.绿三盏灯.该交通信号灯控制器由一条车道A和一条车道B汇合成十字路口,在每个入口 ...

最新文章

  1. wkwebview html5页面,iOS使用WKWebView加载HTML5不显示屏幕宽度的问题解决
  2. boost::contract模块实现base types的测试程序
  3. python把数据写入excel_Python读取和写入Excel文件(转)
  4. IOS - IPhone或IPAD,如何恢复出厂操作系统?
  5. 中文 转gbk编码_go查找中文首字母
  6. spark structured stream的Append模式例子
  7. Consul 服务注册与发现一站式解决方案
  8. B00003 C++标准库 std::bitset
  9. querydsl动态 sql_Spring-data-jpa扩展查询 QueryDSL 实践
  10. 什么是ctfmon.exe,为什么运行?
  11. 什么是WBS分解法?
  12. html5shiv_深入探讨:HTML5 Shiv和Polyfills
  13. Hyper-V虚拟机设置固定IP
  14. lisp princ详解_晓东CAD家园-论坛-A/VLISP-正则表达式lisp实例讲解-通过代码,完整的展示了正则表达式在lisp中使用 - Powered by Discuz!...
  15. requests 职友集招聘信息爬虫
  16. 微软默认 密钥管理服务器,加密和密钥管理概述 - Microsoft Service Assurance | Microsoft Docs...
  17. 哈工大硕士生用 Python 实现了 11 种经典数据降维算法,源代码库已开放
  18. 阿里云OSS图片缩放处理
  19. 第二十九章、containers容器类部件QFrame框架部件详解
  20. 对象存储(云存储)概述

热门文章

  1. MobaXterm(终端工具)下载安装使用教程
  2. 从何着手OpenHarmony?从这里开始认识嵌入式开源鸿蒙操作系统
  3. NCBI网页上进行Nr注释
  4. 【图像基础】帧与帧数
  5. 网页设计与开发-实验报告-2
  6. DS实验题 击鼓传花
  7. mysql学习总结-初识+数据管理+增删改查+常用函数+事务理解+数据库设计+JDBC引入
  8. Win10打印机一直显示正在删除不掉怎么解决?
  9. CSS改变checkbox的方框及对勾的粗细
  10. 物联卡管理平台是否重要