【FSM-3: 串行序列】

FSM-3:串行序列

  • 1 Serial receiver

FSM使用总结:

  • 所有涉及输出的driver原则上用cur_sta;若是使用nxt_sta的相当于是提前一拍知道结果,所以对于输出必须要使用clocked reg,这样才能和cur_sta对应起来;
  • 描述声明状态按照cur_sta的为准,这样输出才能按照cur_sta的为准;

1 Serial receiver






module top_module(input clk,input in,input reset,    // Synchronous resetoutput done
); parameter S0 = 5'b0_0000;	//Startparameter S1 = 5'b0_0001;	//Dataparameter S2 = 5'b0_0010;	//Stopparameter S3 = 5'b0_0100;	//OKparameter S4 = 5'b0_1000;	//Errorparameter S5 = 5'b1_0000;	//wait_finishreg[5 -1:0] cur_sta;reg[5 -1:0] nxt_sta;//==State transitionalways @(*) begincase(cur_sta)S0: nxt_sta = (in==1'b0) ? S1: S0;S1: nxt_sta = (cnt==7) ? S2 : S1;S2: nxt_sta = (in==1'b1) ? S3 : S4;S3: nxt_sta = (in==1'b1) ? S0 : S1;S4: nxt_sta = (in==1'b1) ? S0 : S5;S5: nxt_sta = (in==1'b1) ? S0 : S5;default : nxt_sta = S0;endcaseend//==State Flop-Flopalways @(posedge clk) beginif(reset) begincur_sta <= S0;end else begincur_sta <= nxt_sta; endend//==State Outputreg[8 -1:0] cnt;always @(posedge clk) beginif(reset) begincnt <= 0;end else begincase(cur_sta) S0: cnt <= 0;S1: cnt <= cnt + 1;S2: cnt <= 0;default: cnt <= 0;endcaseendendassign done = (cur_sta==S3); endmodule

题目:




module top_module(input clk,input in,input reset,    // Synchronous resetoutput [7:0] out_byte,output done
); //// Use FSM from Fsm_serialparameter S0 = 5'b0_0000;	//Startparameter S1 = 5'b0_0001;	//Dataparameter S2 = 5'b0_0010;	//Stopparameter S3 = 5'b0_0100;	//OKparameter S4 = 5'b0_1000;	//Errorparameter S5 = 5'b1_0000;	//wait_finishreg[5 -1:0] cur_sta;reg[5 -1:0] nxt_sta;//==State transitionalways @(*) begincase(cur_sta)S0: nxt_sta = (in==1'b0) ? S1: S0;S1: nxt_sta = (cnt==7) ? S2 : S1;S2: nxt_sta = (in==1'b1) ? S3 : S4;S3: nxt_sta = (in==1'b1) ? S0 : S1;S4: nxt_sta = (in==1'b1) ? S0 : S5;S5: nxt_sta = (in==1'b1) ? S0 : S5;default : nxt_sta = S0;endcaseend//==State Flop-Flopalways @(posedge clk) beginif(reset) begincur_sta <= S0;end else begincur_sta <= nxt_sta; endend//==State Outputreg[8 -1:0] cnt;always @(posedge clk) beginif(reset) begincnt <= 0;end else begincase(cur_sta) S0: cnt <= 0;S1: cnt <= cnt + 1;S2: cnt <= 0;default: cnt <= 0;endcaseendendassign done = (cur_sta==S3); // New: Datapath to latch input bits.reg[8 -1:0] data;always @(posedge clk) beginif(reset) begindata <= 0;end else begincase(cur_sta)S1: data[cnt] <= in;S2: data <= data;default: data <= data;endcaseendendassign out_byte = (done==1) ? data : 0;endmodule

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

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

相关文章

蓝桥杯 之 前缀和与查分

文章目录 题目求和棋盘挖矿 前缀和有利于快速求解 区间的和、异或值 、乘积等情况差分是前缀和的反操作 前缀和 一维前缀和&#xff1a; # 原始的数组num,下标从1到n n len(num) pre [0]*(n1) for i in range(n):pre[i1] pre[i] num[i] # 如果需要求解num[l] 到num[r] 的区…

国产化板卡设计原理图:2330-基于FMC接口的JFM7K325T PCIeX4 3U PXIe接口卡

基于FMC接口的JFM7K325T PCIeX4 3U PXIe接口卡 一、板卡概述 本板卡基于 FPGAJFM7K325T 芯片&#xff0c;pin_to_pin兼容FPGAXC7K410T-2FFG900 &#xff0c;支持PCIeX8、64bit DDR3容量2GByte&#xff0c;HPC的FMC连接器&#xff0c;板卡支持PXIE标准协议&#xff0c;其中XJ3…

计算机视觉之dlib人脸关键点绘制及微笑测试

dlib人脸关键点绘制及微笑测试 目录 dlib人脸关键点绘制及微笑测试1 dlib人脸关键点1.1 dlib1.2 人脸关键点检测1.3 检测模型1.4 凸包1.5 笑容检测1.6 函数 2 人脸检测代码2.1 关键点绘制2.2 关键点连线2.3 微笑检测 1 dlib人脸关键点 1.1 dlib dlib 是一个强大的机器学习库&a…

一周学会Flask3 Python Web开发-SQLAlchemy连接Mysql数据库

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili app.py下&#xff0c;我们先配置数据库连接&#xff0c;然后写一个简单sql测试。 连接配置&#xff0c;包括用户名&#xff…

blender看不到导入的模型

参考&#xff1a;blender 快捷键 常见问题_blender材质预览快捷键-CSDN博客 方法一&#xff1a;视图-裁剪起点&#xff0c;设置一个很大的值 方法二&#xff1a;选中所有对象&#xff0c;对齐视图-视图对齐活动项-选择一个视图

CES Asia 2025增设未来办公教育板块,科技变革再掀高潮

作为亚洲消费电子领域一年一度的行业盛会&#xff0c;CES Asia 2025&#xff08;第七届亚洲消费电子技术贸易展&#xff09;即将盛大启幕。今年展会规模再度升级&#xff0c;预计将吸引超过500家全球展商参展&#xff0c;专业观众人数有望突破10万。除了聚焦人工智能、物联网、…

【目标检测】【NeuralPS 2023】Gold-YOLO:通过收集与分发机制实现的高效目标检测器

Gold-YOLO&#xff1a; Efficient Object Detector via Gather-and-Distribute Mechanism Gold-YOLO&#xff1a;通过收集与分发机制实现的高效目标检测器 0.论文摘要 在过去的几年中&#xff0c;YOLO系列模型已成为实时目标检测领域的领先方法。许多研究通过修改架构、增强数…

利用python实现对Excel文件中数据元组的自定义排序

问题引入&#xff1a; 假设你是一个浙江省水果超市的老板&#xff0c;统筹11个下辖地市的水果产量。假设11个地市生产的水果包括&#xff1a;苹果、香蕉和西瓜。你如何快速得到某种水果产量突出&#xff08;排名前几&#xff09;的地市&#xff1f;产量落后&#xff08;排名后…

数学建模笔记——层次分析法(AHP)

本文借鉴了数学建模清风老师的视频和课件,如有错误欢迎大家批评指正。原视频地址:清风数学建模:https://www.bilibili.com/video/BV1DW411s7wihttps://www.bilibili.com/video/BV1DW411s7wi 1.预备知识 层次分析法: 层次分析法(The Analytic Hierarchy Process,AHP)是一…

koa-session设置Cookie后获取不到

在谷歌浏览器中请求获取不到cookie问题之一&#xff08;谷歌安全策略&#xff09; 场景 前端使用 axios 请求&#xff0c;项目地址&#xff1a;http://192.168.8.1:5173 import axios from axiosconst request axios.create({baseURL: http://127.0.0.1:3001/,timeout: 60000,…

Greenplum6.19集群搭建

一&#xff0c;安装说明 1.1环境说明 1、首先确定部署的环境&#xff0c;确定下服务器的端口&#xff0c;一般默认是22的端口&#xff1b; 2、当前这份文档是服务器处于10022端口下部署的&#xff08;现场生产环境要求&#xff0c;22端口在生产环境存在安全隐患&#xff09;&…

SAP DOI EXCEL宏的使用

OAOR里上传EXCEL模版 屏幕初始化PBO创建DOI EXCEL对象&#xff0c;并填充EXCEL内容 *&---------------------------------------------------------------------* *& Module INIT_DOI_DISPLAY_9100 OUTPUT *&--------------------------------------------…

排序算法漫游:从冒泡到堆排的底层逻辑与性能厮杀

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 今天我们来学习七大排序算法 一&#xff1a;直接插入排序 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是&#xff1a; 把待排序…

【VBA】WPS/PPT设置标题字体

通过VBA&#xff0c;配合左上角的快速访问工具栏&#xff0c;实现自动化调整 选中文本框的 字体位置、大小、颜色。 配合quicker更加便捷 Sub DisableAutoWrapAndFormat()Dim shp As Shape 检查是否选中了一个形状&#xff08;文本框&#xff09;If ActiveWindow.Selection.Typ…

大语言模型从理论到实践(第二版)-学习笔记(绪论)

大语言模型的基本概念 1.理解语言是人工智能算法获取知识的前提 2.语言模型的目标就是对自然语言的概率分布建模 3.词汇表 V 上的语言模型&#xff0c;由函数 P(w1w2 wm) 表示&#xff0c;可以形式化地构建为词序列 w1w2 wm 的概率分布&#xff0c;表示词序列 w1w2 wm…

Qt常用控件之 纵向列表QListWidget

纵向列表QListWidget QListWidget 是一个纵向列表控件。 QListWidget属性 属性说明currentRow当前被选中的是第几行。count一共有多少行。sortingEnabled是否允许排序。isWrapping是否允许换行。itemAlignment元素的对齐方式。selectRectVisible被选中的元素矩形是否可见。s…

使用 Apache POI 实现 Excel 单元格合并

在日常工作中&#xff0c;Excel 是一个不可或缺的工具&#xff0c;尤其是在处理大量数据时。为了提升数据的可读性和美观性&#xff0c;我们经常需要对 Excel 中的单元格进行合并操作。本文将介绍如何使用 Apache POI 库在 Java 中实现 Excel 单元格的合并&#xff0c;并提供一…

leetcode日记(84)交错字符串

很明显的动态规划&#xff0c;就是怎么用想了一段时间。&#xff08;开始还怀疑过是不是双指针&#xff0c;发现不行&#xff0c;因为会出现s3的下一个字符同时能够匹配到两个字符串字符的情况&#xff09; 然后就是构建数组dp[101][101]&#xff0c;数组代表前x个s1字符和前y…

【Linux———信号精讲】

你是怎么做到的&#xff0c;给了她想要的爱............................................................................................ 文章目录 前言 一、【信号入门】 1.1、【生活角度的信号】 1.2、【ctrl c与z】 1.3、【信号的发送与记录】 1.4、【信号处理常见方式…

【原创】springboot+vue核酸检测管理系统设计与实现

个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;源码获取&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交给天意。 研究…