「Verilog学习笔记」交通灯

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

`timescale 1ns/1nsmodule triffic_light(input rst_n, //异位复位信号,低电平有效input clk, //时钟信号input pass_request,output wire[7:0]clock,output reg red,output reg yellow,output reg green);parameter idle = 0, s1_red = 1, s2_yellow = 2, s3_green = 3 ;reg [7:0] cnt ; reg [1:0] state ; reg p_red, p_yellow, p_green ; //用于缓存信号灯的前一时刻的数值,判断上升沿always @ (posedge clk or negedge rst_n) begin if (~rst_n) begin state <= idle ;p_red <= 0 ;p_green <= 0 ; p_yellow <= 0 ; endelse case(state) idle : begin p_red <= 0 ; p_green <= 0 ; p_yellow <= 0 ; state <= s1_red ; ends1_red : begin p_red <= 1 ; p_green <= 0 ;p_yellow <= 0 ;if (cnt == 3) state <= s2_yellow ; else state <= s1_red ; ends2_yellow : beginp_red <= 0 ; p_green <= 0 ; p_yellow <= 1 ; if (cnt == 3) state <= s3_green ; else state <= s2_yellow ; ends3_green : begin p_red <= 0 ; p_green <= 1 ; p_yellow <= 0 ; if (cnt == 3) state <= s1_red ; else state <= s3_green ;endendcaseendalways @ (posedge clk or negedge rst_n) begin if (~rst_n) cnt <= 10 ; else if (pass_request && green && (cnt > 10)) cnt <= 10 ; else if (~green && p_green) cnt <= 60 ; else if (~yellow && p_yellow) cnt <= 5 ; else if (~red && p_red) cnt <= 10 ; else cnt <= cnt - 1 ; endassign clock = cnt ; always @ (posedge clk or negedge rst_n) begin if (~rst_n) begin yellow <= 0 ; red <= 0 ; green <= 0 ; endelse begin yellow <= p_yellow ; red <= p_red ; green <= p_green ; endendendmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/283878.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin 笔记 -- Kotlin 语言特性的理解(二)

都是编译成字节码&#xff0c;为什么 Kotlin 能支持 Java 中没有的特性&#xff1f; kotlin 有哪些 Java 中没有的特性&#xff1a; 类型推断、可变性、可空性自动拆装箱、泛型数组高阶函数、DSL顶层函数、扩展函数、内联函数伴生对象、数据类、密封类、单例类接口代理、inter…

PostgreSQL常用命令

数据库版本 :9.6.6 注意 :PostgreSQL中的不同类型的权限有 SELECT,INSERT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER,CREATE,CONNECT,TEMPORARY,EXECUTE 和 USAGE。 1. 登录PG数据库 以管理员身份 postgres 登陆,然后通过 #psql -U postgres #sudo -i -u postgres …

备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

MySQLhttps://www.mysql.com/ 将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码&#xff0c;使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变&#xff0c;同时添加静态分区&#xff0c;分区字段为etl_da…

【PWN】学习笔记(三)【返回导向编程】(下)

目录 课程回顾ret2libc![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ebe1a9a9e54f4319946621dbe89c5774.png)做题 ret2libc2ret2libc3 课程 课程链接&#xff1a;https://www.bilibili.com/video/BV1854y1y7Ro/?vd_source7b06bd7a9dd90c45c5c9c44d12e7b4e6 课程…

互联网加竞赛 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于python 机器视觉 的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 &#x1f9ff; 更多资…

4.配置系统时钟思路及方法

前言&#xff1a; 比起之前用过的三星的猎户座4412芯片&#xff0c;STM32F4的系统时钟可以说是小巫见大巫&#xff0c;首先我们需要清晰时钟产生的原理&#xff1a;几乎大多数的芯片都是由晶振产生一个比较低频的频率&#xff0c;然后通过若干个PLL得到单片机能承受的频率&…

模拟IC设计-学习笔记

写在前面&#xff1a;本文是我自己学习b站上up主(jrilee讲电路)的模集课程时记的笔记&#xff0c;原课程&#xff1a;模拟IC设计 第一讲 -- Device and modeling (I)_哔哩哔哩_bilibili 目录 器件基础 求输出电阻 MOS管的小信号模型&#xff0c;拉扎维书上常用的是π模型&am…

Flutter ios 使用ListView 。滚动时 AppBar 改变颜色问题

在Ios 中 列表滚动条向下滚动一段距离后 会导致 AppBar 颜色改变 可以给 AppBar 或者 AppBarTheme。 scrolledUnderElevation: 0.0 属性 全局&#xff1a; MaterialApp(theme: ThemeData(appBarTheme: AppBarTheme(scrolledUnderElevation: 0.0)) ) 局部&#xff1a; App…

硬件基础-电阻

电阻 1.品牌 厚声、风华&#xff0c;三星、罗姆、松下、KOA 2.分类 插件 碳膜电阻&#xff1a;精度-5 J 是在高阻&#xff0c;高压和高温应用中 属负温度系数电阻 金属膜&#xff1a;-1 F 贴片 电阻标识&#xff1a;&#xff08;含义&#xff1a;阻值大小和精度&a…

keithley 吉时利6221源表

特点 优势 10 14 Ω 输出阻抗 提供广泛的输出阻抗&#xff0c;确保负载中有稳定的电流源。 65000 点源内存 允许直接从电流源执行全面的测试电流扫描。 输出 0.1V 至 105V 的恒流电压&#xff0c;10mV 步长 防止潜在损坏对过电压敏感的设备。 源交流电源范围为 4pA 至…

AI聊天伴侣的语料采集大揭秘:OpenCV如何轻松识别聊天图片?

最近&#xff0c;负责元宇宙中AI聊天伴侣的语料数据采集&#xff0c;这些数据主要用于AI虚拟角色聊天的训练和测试。虽然语料获取有多种渠道&#xff0c;但由于部分数据涉及隐私&#xff0c;这里就不多说了&#xff08;感兴趣的朋友可以私聊我&#xff09;。今天&#xff0c;我…

权重衰减weight_decay

查了好几次了&#xff0c;一直忘&#xff0c;记录一下 使用L 2 范数的一个原因是它对权重向量的大分量施加了巨大的惩罚。这使得我们的学习算法偏向于在大量特征上均匀分布权重的模型。在实践中&#xff0c;这可能使它们对单个变量中的观测误差更为稳定。 相比之下&#xff0c…