「Verilog学习笔记」根据状态转移写状态机-二段式

news2025/1/9 14:57:13
专栏前言

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

和三段式相比,就是将输出块和次态切换块合并。

`timescale 1ns/1ns

module fsm2(
	input wire clk  ,
	input wire rst  ,
	input wire data ,
	output reg flag
);

//*************code***********//
	parameter S0 = 0, S1 = 1, S2 = 2, S3 = 3, S4 = 4 ; 
	reg [2:0] nstate, state ; 

	always @ (posedge clk or negedge rst) begin 
		if (~rst) state <= 0 ; 
		else state <= nstate ; 
	end

	always @ (*) begin 
		if (~rst) begin 
			nstate <= S0 ; 
			flag <= 0 ; 
		end
		else begin 
			case (state) 
				S0 : begin 
					nstate = data ? S1 : S0 ; 
					flag = 0 ;
				end
				S1 : begin 
					nstate = data ? S2 : S1 ; 
					flag = 0 ; 
				end
				S2 : begin 
					nstate = data ? S3 : S2 ; 
					flag = 0 ; 
				end
				S3 : begin 
					nstate = data ? S4 : S3 ; 
					flag = 0 ; 
				end
				S4 : begin
					nstate = data ? S1 : S0 ;
					flag = 1 ; 
				end
				default : begin
					nstate <= S0 ; 
					flag = 0 ; 
				end
			endcase
		end
	end
	

//*************code***********//
endmodule

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux Component概述和高通V4l2驱动模型

1 Linux为什么要引入Component框架&#xff1f; 为了让subsystem按照一定顺序初始化设备才提出来的。 subsystem中由很多设备模块&#xff0c;内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video …

校园后勤数字化转型要怎么做?的修工单管理系统的功能强大吗?

2023年11月27日-29日&#xff0c;由中国教育后勤协会主办&#xff0c;广东省高校后勤协会、物业管理专业委员会、能源管理专业委员会、安全管理专业委员会、中小学后勤分会等协办的第六届中国教育后勤展览会在深圳圆满落幕。 广东工程宝科技有限公司以其创新的“的修工单管理系…

家用保险柜什么牌子好?

家用保险柜的品牌有很多&#xff0c;其中比较知名的有虎牌、得力、永发、思锐、迪堡、艾谱、全能、杰宝-大王、金虎、花都、飞云、威盾斯等等。这些品牌都有各自的特点和优势&#xff0c;例如虎牌品牌是来自于河北&#xff0c;每年生产60多台&#xff0c;质量可靠&#xff1b;得…

国内零代码链接器有哪些?

什么是零代码链接器&#xff1f; 零代码链接器&#xff0c;也是属于零代码集成领域&#xff0c;代表一种可以通过不编写代码就能让不同系统产生数据互通的技术&#xff0c;主要通过授权API接口暴露数据&#xff0c;让不同系统间的数据可以在内部互相调用&#xff0c;实现自动化…

【C++11并发】Atomic 笔记

简介 用atomic定义的变量&#xff0c;支持原子操作&#xff0c;即要么全部完成操作&#xff0c;要不全部没有完成&#xff0c;我们是不可能看到中间状态。一般在多线程程序中&#xff0c;可以用atomic来完成数据同步。 标准库为我们主要提供了四类工具 atomic类模板操作atomi…

ZStack Cloud云平台服务中国化学工程集团高性能数据库

中国化学工程通过ZStack Cloud云平台构建云基础设施&#xff0c;并为其提供高性能、高可用的云主机、云存储和云网络服务&#xff1b;并通过ZStack Cloud云平台弹性裸金属能力ZStack RDS数据库云平台&#xff0c;满足高性能数据库和多种数据库统一管理的需求&#xff1b;此外&a…

DOS 批处理 (二)

DOS 批处理 1. 基础 DOS 命令1.1 基础命令1.2 文件系统操作1.3 文件夹管理1.4 文件管理1.5 网络相关1.6 系统管理1.7 IF、FOR和NETIFFORNET 1. 基础 DOS 命令 command /? 查找帮助DOS命令不区分命令字母的大小写 C:\Users\Administrator>echo 1 1 C:\Users\Administrator…

我们一起聊一聊JWT的那些事

我们一起聊一聊JWT的那些事 一切美好&#xff0c;如期而至… 什么是JWT JWT&#xff0c;全称为 JSON Web Token&#xff0c;是一种用于在网络上安全地传递信息的开放标准&#xff08;RFC 7519&#xff09;。JWT 是一种紧凑且独立的方式&#xff0c;用于在各方之间以 JSON 对象…

Docker部署开源分布式任务调度系统DolphinScheduler与远程访问办公

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…

STM32 定时器配置步骤

定时中断基本框架结构图&#xff1a; 根据结构图可按步骤配置定时器 第1步&#xff1a;RCC开启时钟。打开时钟后定时器的基准时钟和整个外设的工作时钟就会同时打开。 第2步&#xff1a;选择时基单元的时钟源。对于定时中断可选择内部时钟源. 第3步&#xff1a;配置时基单元…

12.7作业

1.头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> #include <QLabel> #include <QMovie> #include <QLineEdit> #include <QPushButton> class Widget : public QWidget {Q_OBJECTpublic:Widget(QWidge…

论文笔记——DAS

论文&#xff1a;https://arxiv.org/pdf/2311.12091.pdf 代码&#xff1a;暂无 卷积神经网络&#xff08;CNNs&#xff09;在局部空间模式识别方面表现出色。对于许多视觉任务&#xff0c;如物体识别和分割&#xff0c;显著信息也存在于CNN核边界之外。然而&#xff0c;由于CN…

在Spring Cloud使用Hystrix核心组件,并注册到Eureka注册中心去

其实吧&#xff0c;写Spring Cloud系列&#xff0c;我有时候觉得也挺难受的&#xff0c;因为Spring Cloud的微服务启动都需要一个一个来&#xff0c;并且在IDea中也需要占用比较大的内存&#xff0c;并且我本来可以一篇写完5大核心组件的&#xff0c;但是我却分了三篇&#xff…

Implicit Neural Representation for Cooperative Low-light Image Enhancement

GitHub - Ysz2022/NeRCo: [ICCV 2023] Implicit Neural Representation for Cooperative Low-light Image Enhancement 参考&#xff1a;ICCV2023 | 将隐式神经表征用于“低光增强”&#xff0c;北大张健团队提出NeRCo (qq.com) 以下三个因素限制了现有低光图像增强方法的应用…

状态机的练习:按键控制led灯

设计思路&#xff1a; 三个按键控制led输出。 三个按键经过滤波(消抖)&#xff0c;产生三个按键标志信号。 三个led数据的产生模块&#xff08;流水&#xff0c;跑马&#xff0c;闪烁模块&#xff09;&#xff0c;分别产生led信号。 这六路信号&#xff08;三路按键信号&am…

Java网络编程——Socket用法解析

在客户/服务器通信模式中&#xff0c;客户端需要主动创建与服务器连接的Socket&#xff0c;服务器端收到了客户的连接请求&#xff0c;也会创建与客户连接的Socket。Socket可以被看作是通信连接两端的收发器&#xff0c;服务器与客户都通过套接字来收发数据。 1、构造Socket …

企业数字化转型的七个成功案例

尽管经济形势严峻&#xff0c;但60%的企业告诉波士顿咨询公司&#xff0c;他们将在2023年增加数字化转型投资。根据Precedence Research最近的一份报告&#xff0c;到2025年&#xff0c;数字化转型市场预计将达到1.458万亿美元。 成长型股权公司PSG的董事总经理安东尼爱德华兹…

【hacker送书第10期】AI时代系列丛书(五选一)

AI时代系列丛书 AI时代程序员开发之道✨内容简介参与方式 AI时代项目经理成长之道✨内容简介参与方式 AI时代架构师修炼之道✨内容简介参与方式 AI时代产品经理升级之道✨内容简介参与方式 AI时代Python量化交易实战✨内容简介参与方式 AI时代程序员开发之道✨ 内容简介 本书是…

C#中GDI+图形图像技术(Graphics类、Pen类、Brush类)

目录 一、创建Graphics对象 1.创建Pen对象 2.创建Brush对象 &#xff08;1&#xff09;SolidBrush类 &#xff08;2&#xff09;HatchBrush类 ​​​​​​​&#xff08;3&#xff09;LinerGradientBrush类 用户界面上的窗体和控件非常有用&#xff0c;且引人注目&#…

优雅提效:Guava的字符串处理工具

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;今天咱们要聊一聊Google Guava这个超棒的Java库&#xff0c;尤其是它的字符串处理工具。对于Java程序员来说&#xff0c;字符串处理是日常工作的一部分&#xff0c;而Guava在这方面提供了非常强大的支持。使用Gu…