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

专栏前言

本专栏的内容主要是记录本人学习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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利器|一款集成的BurpSuite漏洞探测插件

本着市面上各大漏洞探测插件的功能比较单一&#xff0c;因此与TsojanSecTeam成员决定在已有框架的基础上修改并增加常用的漏洞探测POC&#xff0c;它会以最少的数据包请求来准确检测各漏洞存在与否&#xff0c;你只需要这一个足矣。 1、加载插件 2、功能介绍 &#xff08;1&a…

『VUE3后台—硅谷甄选』

一、准备前期 pnpm create vite

计算机操作系统3

1.虚拟机 VM 两类虚拟机的对比&#xff1a; 2.进程 进程的特征&#xff1a; 进程状态的转换&#xff08;五大状态&#xff09; 3.进程控制原语的作用 4.线程 ​​​​​线程的属性 实现方式 5.调度算法的评价指标

python-sql-spark常用操作

数据抽取提速&#xff1a; 1. 不要把rdd或者df展示出来&#xff0c;只有第一遍跑流程的时候看看中间结构&#xff0c;后面就只保存不展示。 2. 尽量使用spark.sql&#xff0c;而不是rdd。sql处理groupby会快很多。基本上10min的rdd&#xff0c;sql只需2min。所以基本除了复杂…

深度探索Linux操作系统 —— 构建内核

系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 文章目录 系列文章目录前言一、内核映像的组成 前言 内核的构建系统 kbuild 基于GNU Make&#xff0c;是一套非常复杂的系统。 对于编译内核…

用 C 写一个卷积神经网络

用 C 写一个卷积神经网络 深度学习领域最近发展很快&#xff0c;前一段时间读transformer论文《Attention Is All You Need》时&#xff0c;被一些神经网络和深度学习的概念搞得云里雾里&#xff0c;其实也根本没读懂。发现深度学习和传统的软件开发工程领域的差别挺大&#xf…

19、XSS——HTTP协议安全

文章目录 一、Weak Session IDs(弱会话IDs)二、HTTP协议存在的安全问题三、HTTPS协议3.1 HTTP和HTTPS的区别3.2 SSL协议组成 一、Weak Session IDs(弱会话IDs) 当用户登录后&#xff0c;在服务器就会创建一个会话&#xff08;Session&#xff09;&#xff0c;叫做会话控制&…

tomcat配置管理员And配置访问静态资源

配置管理员 打开 tomcat\conf\tomcat-users.xml <tomcat-users xmlns"http://tomcat.apache.org/xml"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://tomcat.apache.org/xml tomcat-users.xsd"version&qu…

openai 1.3.x 版本 openai.APITimeoutError: Request timed out. 解决

问题描述 openai 1.3.x 版本 请求出现 Request timed out File "E:\Python\Python312\Lib\site-packages\openai\_base_client.py", line 920, in _request return self._retry_request( ^^^^^^^^^^^^^^^^^^^^ File "E:\Python\Python312\L…

python爬虫零基础学习之简单流程示例

文章目录 爬虫基础爬虫流程常用库爬虫示例关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 爬虫基础 网络爬…

微信小程序动态加载图表[echart]

1.引入Echarts &#xff08;1&#xff09;将ec-canvas文件拷贝下来放到你自己的项目中&#xff1a; &#xff08;2&#xff09;在你需要使用Echarts的页面的json文件中引入Echarts "usingComponents": {"ec-canvas": "../utils/ec-canvas/ec-canva…

STM32——PWM介绍

STM32F103C8T6 PWM资源&#xff1a; 高级定时器&#xff08;TIM1&#xff09;&#xff1a;7路 通用定时器&#xff08;TIM2~TIM4&#xff09;&#xff1a;各4路 PWM输出模式&#xff1a; PWM模式1&#xff1a;在向上计数时&#xff0c;一旦 CNT < CCRx 时输出为有效电平&…

基于Eclipse+Mysql+Servlet开发的学生信息管理系统

基于EclipseMysqlServlet开发的学生信息管理系统 项目介绍&#x1f481;&#x1f3fb; 随着信息技术的不断发展&#xff0c;学校管理学生信息的方式也在不断改进。传统的手工管理方式已经无法满足现代学校对信息管理的需求&#xff0c;因此开发一套基于EclipseMysql的学生信息管…

C#基础学习--命名空间和程序集

引用其他程序集 编译器接受源代码文件并生成一个名为程序集的输出文件。 在许多项目中&#xff0c;会想使用来自其他程序集的类或类型。这些程序集可能来自BCL或第三方供应商&#xff0c;或者自己创建的。这些程序集称为类库&#xff0c;而且它们的程序集文件的名称通常以dll…

MySQL为何偏爱B+树索引

一、MySQL、B树概念 MySQL是一种关系型数据库&#xff0c;它使用SQL语言来操作数据。SQL语言可以实现对数据的增删改查等操作&#xff0c;但是如果数据量很大&#xff0c;那么这些操作的效率就会很低。为了提高效率&#xff0c;MySQL引入了索引的概念。 索引是一种数据结构&am…

Java TCP(一对一)聊天简易版

客户端 import java.io.*; import java.net.Socket; import java.util.Date; import javax.swing.*;public class MyClient {private JFrame jf;private JButton jBsend;private JTextArea jTAcontent;private JTextField jText;private JLabel JLcontent;private Date data;p…

Redis——某马点评day02——商铺缓存

什么是缓存 添加Redis缓存 添加商铺缓存 Controller层中 /*** 根据id查询商铺信息* param id 商铺id* return 商铺详情数据*/GetMapping("/{id}")public Result queryShopById(PathVariable("id") Long id) {return shopService.queryById(id);} Service…

构建socket的客户端和服务端

网络函数 WSAStartup socket bind listen accept connect send recv closesocket WSACleanup 为什么要用WSAStartup初始化&#xff1f; 本函数必须是应用程序或DLL调用的第一个Windows Sockets函数.它允许应用程序或DLL指明Windows Sockets API的版本号及获得特定Windows So…

文件加密软件——支持对任意类型文档加密保护

你是不是经历过这样的场景&#xff1a; 公司的文件随意外发 员工拿U盘随意拷贝文件 公司辛辛苦苦设计的图纸莫名其妙泄露了 标书里的数据不知道什么时候就被竞品公司知道了 …… 一系列的文件泄密事件&#xff0c;让企业主不寒而栗。遂千方百计、好似无头苍蝇似的在市面上…

postgreSql服务的window启动

CMD启动服务&#xff1a; D:\PostgreSQL\bin pg_ctl register -N PostgreSQL -D "D:\PostgreSQL\data # 登录 psql -U postgres # 验证输入 select 1; 拓展&#xff1a;删除服务 sc delete 服务名称 PostgreSQLUSER: postgresPWD: rootPORT: 5432动PostgreSQL服务器 3.1 打…