HDLbits--Exams/review2015 fsm

news2024/11/16 9:20:23

示例:

题目的主要意思是:复位之后寻找1101序列,找到之后shift ena在四个周期内为1,此后输出counting,如果done-counting=0,则counting一直为1,直到done-counting=1,counting才为0;

同理在done-counting为1后done一直为1,直到ack为1。也就是说done-counting结束了counting,启动了done。ack=1后回到第一个状态 

 

 

module top_module (
    input clk,
    input reset,      // Synchronous reset
    input data,
    output shift_ena,
    output counting,
    input done_counting,
    output done,
    input ack );
    
    parameter b1=0,b2=1,b3=2,b4=3,s1=4,s2=5,s3=6,s4=7,cou=8,aacckk=9;
    reg [3:0] state ,next_state;
    //b1~b4:1101
    //s1~s4: 保持shift_ena=1
    //cou: 输出counting=1,等待done_counting输入
    //aacckk;输出done=1,等待ack输入
    
    always@(*)
        begin
            case(state)
                b1:
                    next_state<=data?b2:b1;
                b2:
                    next_state<=data?b3:b1;
                b3:
                    next_state<=data?b3:b4;
                b4:
                    next_state<=data?s1:b1;
                s1:
                    next_state<=s2;
                s2:
                    next_state<=s3;
                s3:
                    next_state<=s4;
                s4:
                    next_state<=cou;
                cou:
                    next_state<=done_counting?aacckk:cou;
                aacckk:
                    next_state<=ack?b1:aacckk;
            endcase
        end
    
    always@(posedge clk)
        begin
            if(reset)
                state<=b1;
            else
                state<=next_state;
        end
    
    assign shift_ena=(state==s1||state==s2||state==s3||state==s4);
    assign counting=state==cou;
    assign done=state==aacckk;

endmodule

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

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

相关文章

Redis高可用——持久化

Redis高可用——持久化 一、Redis 高可用的相关知识1、什么是高可用2、Redis的高可用技术3、持久化的功能4 redis持久化的方式 二、RDB持久化1、RDB持久化的触发方式①.手动触发②.自动触发③.其他自动触发机制 2、bgsave执行流程3、启动时加载 三、AOF持久化1.开启AOF2.执行流…

RSUYZM9智能路侧终端使用说明书

1 产品概览 本说明 书适用于 RSUYZM8型及 RSUYZM9型智能路侧终端 产品 。智能路 侧终端 作为智能 车路协同系统 路侧的基础 设备&#xff0c; 是车载设备和路口 所有 设备的 汇 聚点&#xff0c;路侧设备和车载之间 通过 LTE-V进行 信息交互 。同时 &#xff0c;智能路侧终 端还…

【JavaWeb】JavaScript的基础语法

目录 1、JS简介 1.1、JavaScript的运行过程 1.2、了解浏览器的开发人员工具 2、JavaScript的书写形式 2.1、行内式 2.2、内嵌式 2.3、外部式 3、JavaScript的输入输出函数 4、JavaScript语法 4.1、变量声明 4.1.1、动态类型 4.2、基本数据类型 4.2.1、数字类型 4.…

青岛大学_王卓老师【数据结构与算法】Week03_13_线性表的链式表示和实现13_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

C++数据结构笔记(6)栈的链式存储结构

对于栈的链式存储结构&#xff0c;实现原理本质上是受限的链表&#xff1b;此外与顺序存储不同的是&#xff0c;链式结构选用左边&#xff08;头结点&#xff09;作为栈的顶部&#xff0c;这样的好处是只要找到头结点即可实现插入元素等操作。 LinkStack.h头文件 #ifndef LIN…

CentOs7 64位 32位ISO镜像下载

链接: https://pan.baidu.com/s/1N181e6KFFFWPHhCTB7thMw 提取码: zht1

<Oracle>《(史上最完整)Linux 下安装Oracle数据库 - Oracle 19C By CentOS 8 》

《Linux 下安装Oracle数据库 - Oracle 19C By CentOS 8 》 1 说明1.1 前言1.2 资源下载 2 安装步骤2.1 上传安装包2.2 下载数据库预安装包2.3 安装数据库预安装包2.4 安装Oracle数据库2.4.1 第一次安装报错2.4.2 解决安装报错第一步&#xff1a;安装libnsl.so.1第二步&#xff…

MATLAB 层次分析法

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

文件上传靶场upload-labs通关

文章目录 前言Pass-01&#xff08;JavaScript绕过&#xff09;Step1、分析源码Step2、修改webshell文件后缀名Step3、修改报文重新发送Step4、使用webshell程序测试是否能连接 Pass-02&#xff08;MIME-Type绕过&#xff09;Step1、分析源码Step2、burp抓包&#xff0c;修改数据…

docker启动springboot项目构建的镜像 并通过Nginx配置反向代理

1.首先准备好springboot项目构建的docker镜像 如果不会的去看我另一篇博客 docker构建springboot项目镜像 docker image list |grep alice2.通过命令启动镜像 注意: -p后面的端口号 前面可以随便写:后面必须是你springboot项目中application.yml的端口,不然 你启动起来 访问…

进阶(组件通讯)/react生命周期

如果是数值就在外面加{} 给组件传递任意类型数据 父子组件数据传递 兄弟组件传递 context的使用(多级嵌套) children属性 props校验 默认值 生命周期

通用分页详解【下】

目录 前言 一、通用分页的核心思想 二、PageBean的分页要素及优化 三、SQL的通用 1.获取总记录数 2.获取分页语句 四、PageTag的核心逻辑见解 五、运行流程 案例运用 注意&#xff1a; 1.pageBean优化 2.tld文件 3.分页标签助手类 4.Servlet层 5.jsp页面 6.结果输…

一款IP合并和分解工具(二)

本文是对上一篇文章的补充&#xff0c;看过《一款IP合并和分解工具&#xff08;一&#xff09;》的知道&#xff0c;cidr-merger工具在windows上使用需要用命令行&#xff0c;不是很方便&#xff0c;在这通过python的tkinter进行二次开发&#xff0c;写一个可视化的界面 目录 …

2bit反射型超表面设计

1.单patch扫参 1&#xff09;确定单元周期&#xff08;最好0.3波长到0.5波长&#xff09; 2&#xff09;确定介质介电常数。&#xff08;小一点比较好&#xff0c;带比较宽&#xff0c;一般选F4B2.65&#xff09; 3&#xff09;确定介质板厚度。厚一点好&#xff0c;最大3mm&a…

乱七八糟随便记录

建立Statement对象的作用是&#xff1f; 正确答案: C 你的答案: C (正确) A.连接数据库 B.声明数据库 C.执行SQL语句 D.保存查询结果 解释&#xff1a; 1、Statement对象用于执行不带参数的简单SQL语句。 2、Prepared Statement 对象用于执行预编译SQL语句。 3、Callable Sta…

react总结

一、React 入门 1.1 特点 高性能、声明式、组件化、单向响应的数据流、JSX扩展、灵活 1.2 React初体验 <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&quo…

软件测试缺陷

缺陷的定义 产品的定义不满足用户需求测试执行时&#xff0c;实际结果与预期结果不一致 缺陷产生的根本原因 需求变更沟通不畅&#xff0c;信息不同步软件复杂进度压力需求文档存在错误非根本设计存在错误非根本 缺陷的基本要素 ID编号&#xff1a;唯一模块&#xff1a;根据…

THREEJS 地图可视化案例分享

效果预览 git代码地址 threejs_map: threejs 地图可视化案例

能说会画 VisCPM:SOTA 开源中文多模态大模型

最近&#xff0c; 清华大学 NLP实验室、面壁智能、知乎联合在 OpenBMB 开源多模态大模型系列VisCPM &#xff0c;评测显示&#xff0c; VisCPM 在中文多模态开源模型中达到最佳水平。 VisCPM 是一个开源的多模态大模型系列&#xff0c;支持中英双语的多模态对话能力&#xff08…

全志科技T3国产工业核心板规格书(四核ARM Cortex-A7,主频1.2GHz)

1 核心板简介 创龙科技SOM-TLT3是一款基于全志科技T3处理器设计的4核ARM Cortex-A7国产工业核心板&#xff0c;每核主频高达1.2GHz。 核心板通过邮票孔连接方式引出CSI、TVIN、MIPI DSI、TVOUT、RGB DISPLAY、LVDS DISPLAY、GMAC、EMAC、USB、SATA、SDIO、UART、TSC、SPI、TW…