当前位置: 首页 > news >正文

「Verilog学习笔记」根据状态转移图实现时序电路

专栏前言

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

这是一个典型的米利型状态机。三段式即可解决。

米利型状态机:即输出不仅和当前状态有关,也和输入有关。 其中ST0,ST1,ST3的输出可以化简,化简后和C无关。 但是ST2的输出,需要判断输入C。

`timescale 1ns/1nsmodule seq_circuit(input                C   ,input                clk ,input                rst_n,output   wire        Y   
);parameter ST0 = 2'b00 ; parameter ST1 = 2'b01 ; parameter ST2 = 2'b10 ; parameter ST3 = 2'b11 ; reg [1:0] cur_state ; reg [1:0] nxt_state ; reg Y_r ; always @ (posedge clk or negedge rst_n) begin if (!rst_n) cur_state <= ST0 ; else cur_state <= nxt_state ; end always @ (*) begin case (cur_state) ST0 : begin if (C == 1'b0) nxt_state <= ST0 ; else nxt_state <= ST1 ; end ST1 : begin if (C == 1'b0) nxt_state <= ST3 ; else nxt_state <= ST1 ; end ST2 : begin if (C == 1'b0) nxt_state <= ST0 ; else nxt_state <= ST2 ; end ST3 : begin if (C == 1'b0) nxt_state <= ST3 ; else nxt_state <= ST2 ; end endcase endalways @ (*) begin case (cur_state) ST0 : begin Y_r <= 1'b0 ; end ST1 : begin Y_r <= 1'b0 ; end ST2 : begin if (C == 1'b0) Y_r <= 1'b0 ; else Y_r <= 1'b1 ; endST3 : begin Y_r <= 1'b1 ; end endcaseendassign Y = Y_r ;endmodule
http://www.lryc.cn/news/237931.html

相关文章:

  • 使用DHorse发布SpringBoot项目到K8S
  • Java修仙记之记录一次与前端女修士论道的经历
  • 初识linux(1)
  • 投资黄金:如何选择正确的黄金品种增加收益?
  • Rust错误处理机制:优雅地管理错误
  • docker-compose安装harbor
  • 【python学习】基础篇-常用模块-shutil文件和目录操作
  • 鸿蒙系统调研适配
  • SAP gui 登录条目不让修改
  • 华为ac+fit无线2层漫游配置案例
  • nginx的location中配置路径讲解
  • No appropriate protocol -- Mysql
  • Using Set Processing Effectively 有效地使用集合处理
  • HarmonyOS开发Java与ArkTS如何抉择
  • “茶叶创新:爆改营销策略,三个月狂销2300万“
  • 分享一个生成哈希值的C代码
  • 【Windows 常用工具系列 11 -- 福昕PDF搜索高亮过的文本】
  • (二)汇编语句组成
  • Linux C 网络编程概述
  • 腾讯云标准型s5和s6有什么区别?CPU处理器有差异吗?
  • WPF TextBox实现placeholder
  • UiPath Studio 2023.10 Crack
  • SpringBoot——入门及原理
  • js实现页面滚动时自动切换Sidebar标签,点击标签自动滚动页面
  • Failed to load resource: net::ERR_UPLOAD_FILE_CHANGED 谷歌浏览器就会有这个问题 其他的浏览器没有
  • 微信小程序 prettier 格式化
  • SystemVerilog学习 (10)——线程控制
  • 【开题报告】基于SpringBoot的二手汽车交易平台的设计与实现
  • Python 爬虫入门
  • [ 加密 ] SHA256