VL22 根据状态转移图实现时序电路

news/2024/9/20 12:14:53/文章来源:https://www.cnblogs.com/Wenz-Mouse/p/18381187

 

和上一题的第一段完全相同,第二段只是根据状态转移有部分改变,本体使用三段式状态机来写,第三段写法和上一题不一样。

`timescale 1ns/1ns

module seq_circuit(
   input                C   ,
   input                clk ,
   input                rst_n,
 
   output   wire        Y  
);
reg [1:0] current_state;
reg [1:0] next_state;

always @(posedge clk,negedge rst_n)begin
if(!rst_n)begin
    current_state<=2'b00;
    next_state<=2'b00;
end
else
current_state<=next_state;
end
always @(*)begin
case(current_state)
    2'b00 : next_state =(C==1'b1) ? 2'b01: 2'b00;
    2'b01 : next_state =(C==1'b1) ? 2'b01: 2'b11;
    2'b10 : next_state =(C==1'b1) ? 2'b10: 2'b00;
    2'b11 : next_state =(C==1'b1) ? 2'b10: 2'b11;
    default:next_state =2'b00;
endcase
end
//assign Y=(current_state==2'b11) |(next_state == 2'b10);
reg r_Y;
always @(*)begin
    case(current_state)
    2'b00: r_Y=0;
    2'b01: r_Y=0;
    2'b10: r_Y=(C==1) ? 1:0;
    2'b11: r_Y=1;
    default r_Y=0;
    endcase
end
assign Y=r_Y;
endmodule

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

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

相关文章

Datawhale X 李宏毅苹果书 AI夏令营 深度学习01

神经网络的优化,通常我们使用梯度下降的方法对获取最优的参数,已达到优化神经网络的目的。另外,我们也可以对学习率进行调整,通过使用自适应学习率和学习率调度,最后,批量归一化改变误差表面,达到优化的目的。 同样,也会存在优化失败的时候,在收敛在局部极限值或者鞍点…

京东搜索重排:基于互信息的用户偏好导向模型

SIGIR 24: A Preference-oriented Diversity Model Based on Mutual-information in Re-ranking for E-commerce Search 链接:https://dl.acm.org/doi/abs/10.1145/3626772.3661359 摘要:重排是一种通过考虑商品之间的相互关系来重新排列商品顺序以更有效地满足用户需求的过…

探索AC自动机:多关键词搜索的原理与应用案例

引言 目前,大多数自由文本搜索技术采用类似于Lucene的策略,通过解析搜索文本为各个组成部分来定位关键词。这种方法在处理少量关键词时表现良好。但当搜索的关键词数量达到10万个或更多时,这种方法的效率会显著下降,尤其是在需要与词典进行详尽对比的场景中。本文将介绍的A…

VL21 根据状态转移表实现时序电路

根据给的状态转移表知道有两个状态:第一列的为current_state,第二三列为next_state,且仅当current_state==11时候Y为1(使用()?:语法实现)。三段式状态机的流程: 第一段:时序逻辑,公式化写法 第二段:组合逻辑,这里要注意always @(*)是固定写法,不能像第一段写成时…

Vue3.5新增的baseWatch让watch函数和Vue组件彻底分手

Vue3.5新增了一个baseWatch,让watch函数和Vue组件彻底分手,他的实现和Vue组件以及生命周期没有一毛钱关系。前言 在Vue 3.5.0-beta.3版本中新增了一个base watch函数,这个函数用法和我们熟知的watch API一模一样。区别就是我们之前用的watch API是和Vue组件以及生命周期是一…

硬件设备snmp配置,snmp如何检测联通信

【1】山石网科防火墙 环境需求:设备与 prometheus 服务器之间需要放通UDP161端口,且网络能连通配置路径:系统——SNMP 1、配置SNMP代理 勾选‘启用’选项,并点击 应用 即可 2、配置SNMP主机 点击‘新建’,添加 zabbix服务器IP地址跟团体名,权限为 只读,点击 确定 完成新…

mmdetection中的dataset pipline

参考: 轻松掌握 MMDetection 整体构建流程(二) 商汤开源目标检测工具箱mmdetection代码详解(三)----------mmdetection数据的输入、处理过程 1. mmdetection中的数据加载流程 pipline中由一系列数据处理模块对数据集进行流水线般的处理要注意的是,上述pipline流程在3.x版本…

南沙信奥赛陈老师讲题:1331:【例1-2】后缀表达式的值

1331:【例1-2】后缀表达式的值 时间限制: 10 ms 内存限制: 65536 KB提交数:65784 通过数: 17299 【题目描述】从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(—)、乘(*)、除(/)四种运算符。每个运算数之间用一个空格隔开,不需要…

windows解决0x80070035找不到网络路径的问题

windows进行网络共享,无法访问,报错0x80070035,找了好几个办法都没有用.无意间尝试开启有密码保护的共享后,成功解决问题. 搜索高级共享->管理高级共享设置->密码保护的共享->勾选有密码保护的共享

使用nginx代理,简单实现一个静态网页功能(扫描二维码)

1、创建项目目录 mkdir my-image-page cd my-image-page2、准备图片和HTML文件上传图片:将 image.jpg 上传到 my-image-page 目录。创建HTML文件:在同一目录下创建一个 index.html 文件<!DOCTYPE html> <html lang="en"> <head><meta charset…

P2757 [国家集训队] 等差子序列 和 CF452F Permutation

讲解 P2757 [国家集训队] 等差子序列 和 CF452F Permutation。考虑枚举中间数,将问题转化为区间判定是否回文,使用线段树与哈希算法解决。题意: 给定一个长度为 \(n\) 的排列 \(a\),判断其中是否有长度 \(\ge 3\) 的等差数列。 \(1 \le n \le 5 \times 10^5\)。 思路: 首…

C# 获取PDF页面大小、方向、旋转角度

在处理PDF文件时,了解页面的大小、方向和旋转角度等信息对于PDF的显示、打印和布局设计至关重要。本文将介绍如何使用免费.NET 库通过C#来读取PDF页面的这些属性。C# 读取PDF页面大小(宽度、高度) C# 判断PDF页面方向 C# 检测PDF页面旋转角度免费库 Free Spire.PDF for .NET…