【IC设计】ICer‘s 乾坤大挪移——FSM状态机

目录

    • 理论解读
      • 写几段式状态机?
    • 设计实战
      • 两种state的FSM(异步复位)

理论解读

写几段式状态机?

设计实战

两种state的FSM(异步复位)

实现下图所示的摩尔状态机,复位为异步复位。
在这里插入图片描述
代码实现:

module top_module(
    input clk,
    input areset,    // Asynchronous reset to state B
    input in,
    output out);//  

    parameter A=0, B=1; 
    reg state, next;
    
    // State transition logic
    always@(*)begin    // This is a combinational always block
        case(state)
			A: next = in ? A : B;
			B: next = in ? B : A;
        endcase
    end

    // State flip-flops with asynchronous reset
    always @(posedge clk or posedge areset) begin    // This is a sequential always block
        if(areset == 1'b1)begin
            state <= B;
        end else begin
            state <= next;
        end
    end

    // Output logic
    assign out = (state == B);

endmodule
  • 验证结果
    在这里插入图片描述

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

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

相关文章

【笔记】书生·浦语大模型实战营——第三课(基于 InternLM 和 LangChain 搭建你的知识库)

【参考&#xff1a;tutorial/langchain at main InternLM/tutorial】 【参考&#xff1a;(3)基于 InternLM 和 LangChain 搭建你的知识库_哔哩哔哩_bilibili-【OpenMMLab】】 笔记 基础作业 这里需要等好几分钟才行 bug&#xff1a; 碰到pandas相关报错就卸载重装 输出文字…

c语言实现HashTable

概念&#xff1a;哈希表是一种数据结构&#xff0c;它通过将键映射到数组的某个位置来存储和检索值。 第一步&#xff0c;首先定义节点 typedef struct Node {char *key;int value;struct Node *next; } Node; 这里&#xff0c;我定义的键是字符&#xff0c;value是整数。 …

赋能智慧农业生产,基于YOLOv7开发构建农业生产场景下油茶作物成熟检测识别系统

AI赋能生产生活场景&#xff0c;是加速人工智能技术落地的有利途径&#xff0c;在前文很多具体的业务场景中我们也从实验的角度来尝试性地分析实践了基于AI模型来助力生产生活制造相关的各个领域&#xff0c;诸如&#xff1a;基于AI硬件实现农业作物除草就是一个比较熟知的场景…

【大数据进阶第三阶段之DolphinScheduler学习笔记】深度解析DolphinScheduler(海豚调度)

1、简介 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系&#xff0c;并为应…

YOLOv5改进 | 检测头篇 | DynamicHead支持检测和分割(不同于网上版本,全网首发)

一、本文介绍 本文给大家带来的改进机制是DynamicHead(Dyhead),这个检测头由微软提出的一种名为“动态头”的新型检测头,用于统一尺度感知、空间感知和任务感知。网络上关于该检测头我查了一些有一些魔改的版本,但是我觉得其已经改变了该检测头的本质,因为往往一些细节上才…

程序设计语言的基本成分

程序设计语言的基本成分 1、程序设计语言的数据成分2、程序设计语言的运算成分3、程序设计语言的控制成分4、程序设计语言的传输成分 程序设计语言的基本成分包括数据、运算、控制和传输等。 1、程序设计语言的数据成分 程序设计语言的数据成分指一种程序设计语言的数据类型。数…

最实用的 8 个免费 Android 数据恢复软件

如果您正在寻找最好的免费 Android 数据恢复软件&#xff0c;那就不用再犹豫了&#xff0c;因为我已经列出了最好的软件。不可否认&#xff0c;智能手机和平板电脑等 Android 设备正在与技术一起发展。与以前相比&#xff0c;它们也更加融入了我们的日常生活。 Android 智能手…

软件测试|Python urllib3库使用指南

简介 当涉及到进行网络请求和处理HTTP相关任务时&#xff0c;Python的urllib3库是一个强大且灵活的选择。它提供了一种简单的方式来执行HTTP请求、处理响应和处理连接池&#xff0c;使得与Web服务进行交互变得更加容易。本文将详细介绍如何使用urllib3库进行网络请求。 安装u…

Prettier、EditorConfig插件安装及配置文件讲解

安装 Prettier 我们在编写代码时&#xff0c;代码的格式规范非常重要&#xff0c;能提高代码的可读性&#xff0c;避免由于格式问题引起的 bug&#xff0c;也有利于多人协作开发时的统一风格。Prettier是一个非常好用的代码格式化工具&#xff0c;能自动格式化代码&#xff0c;…

「 网络安全术语解读 」点击劫持Clickjacking详解

引言&#xff1a;要想深入理解点击劫持攻击&#xff0c;我们需要先清楚iframe的用途及优缺点。 1. 关于iframe iframe是HTML语言中的一部分&#xff0c;通常用于在网页中嵌入其他网页的内容&#xff0c;如图像、视频、音频、链接等。它允许在一个网页中插入另一个网页&#xf…

meshlab点云平滑

文章目录 深度平滑拉普拉斯平滑Taubin 平滑其他改进的拉普拉斯平滑 Meshlab界面认识 创建几何对象 Meshlab在Filters->Smoothing, Fairing and deformation中&#xff0c;提供了许多滤波工具&#xff0c;其中与平滑滤波相关的列表如下&#xff0c;本节中所有用到的工具均来…

2019年认证杯SPSSPRO杯数学建模B题(第一阶段)外星语词典全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 基于方差分布的方法对未知语言文本中重复片段的自动搜索问题的研究 B题 外星语词典 原题再现&#xff1a; 我们发现了一种未知的语言&#xff0c;现只知道其文字是以 20 个字母构成的。我们已经获取了许多段由该语言写成的文本&#xff0c;但…

C++面试宝典第18题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间复杂度为O(1)的原地算法解决这个问题。 示例 1: 输入: [1, 2, 3, 4, 5, 6, 7] 和 k…

GPT function calling v2

原文&#xff1a;GPT function calling v2 - 知乎 OpenAI在2023年11月10号举行了第一次开发者大会&#xff08;OpenAI DevDays&#xff09;&#xff0c;其中介绍了很多新奇有趣的新功能和新应用&#xff0c;而且更新了一波GPT的API&#xff0c;在1.0版本后的API调用与之前的0.…

MySQL 从零开始:02 MySQL 安装

文章目录 1、下载 MySQL 安装程序2、安装 MySQL 要操作 MySQL &#xff0c;首先要安装 MySQL &#xff0c;本文将一步步展示如何安装 MySQL&#xff0c;简直详细到令人发指。 环境&#xff1a; 操作系统&#xff1a;Windows10 64位MySQL版本&#xff1a;社区版 8.0.11.0 1、下…

SpringBoot集成Skywalking实现分布式链路追踪

官方网址&#xff1a; Apache SkyWalking官方文档&#xff1a; SkyWalking 极简入门 | Apache SkyWalking下载地址&#xff1a;Downloads | Apache SkyWalking Agent&#xff1a;以探针的方式进行请求链路的数据采集&#xff0c;并向管理服务上报&#xff1b; OAP-Service&am…

L1-096:谁管谁叫爹

《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲&#xff0c;来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点&#xff0c;多耗一些智商。 不妨设游戏中的两个人为 A 和 B。游戏开始后&#xff0c;两人同时报出两个整数 NA​ 和 NB​。判断谁是爹的标准如下&#xff…

pythroch abaconda 安装 cuda 版本确定

一、简述 公司有一个深度学习的项目&#xff0c;由于目前没有项目。时间也有恰好可以一起学习一下 1、下载abaconda https://repo.anaconda.com/archive/ 2、安装 环境变量要✔ 其他一直下一步 3、测试 (base) C:\Users\alber>conda -V conda 23.1.0(base) C:\User…

【设计模式-02】Strategy策略模式及应用场景

一、参考资料 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…

C++学习笔记——队列模拟

目录 一、模拟队列 二、模拟队列的知识点 三、队列 3.1入队操作 3.2出队操作 3.3访问队首元素 3.4访问队尾元素 3.5判断队列是否为空 3.6获取队列的大小 四、实现队列的基本功能 一、模拟队列 当涉及到数据存储和处理时&#xff0c;队列是一种常见的数据结构&#x…