恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

verilog HDLBits刷题[Finite State Machines]“Fsm serial”---Serial receiver

  • 首页
  • 资讯中心
  • /
  • verilog HDLBits刷题[Finite State Machines]“Fsm serial”---Serial receiver

相关资讯

基于51单片机的电压表系统设计与实现:TLC1543 ADC与LCD1602显示 2026/8/1 5:17:48
AirPods Pro走路咚咚响?主动降噪原理与解决方案全解析 2026/8/1 5:17:48
AI论文写作工具对比:千笔AI与知文AI功能实测 2026/8/1 5:17:48

最新资讯

【AI视频动态字幕实战指南】:20年音视频架构师亲授——3大实时渲染瓶颈、5类语义对齐失效场景与98.7%准确率落地公式
【2027最新】基于SpringBoot+Vue的师生共评作业管理系统管理系统源码+MyBatis+MySQL
【7. 实现登录注册模块】:实现会话管理、注册/登录/退出 API
数据结构核心:二叉树原理、遍历与存储实战详解
麒麟系统安装Python3全攻略:从源码编译到虚拟环境配置
结婚婚礼定制水哪个更值得选

今日推荐

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

本周热门

G-Helper完整指南:免费开源工具彻底优化华硕笔记本性能
解决全部报错!OpenClaw Windows适配优化+网关修复教程
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

verilog HDLBits刷题[Finite State Machines]“Fsm serial”---Serial receiver

发布时间:2026/8/1 5:22:49
verilog HDLBits刷题[Finite State Machines]“Fsm serial”---Serial receiver 1、题目In many (older) serial communications protocols, each data byte is sent along with a start bit and a stop bit, to help the receiver delimit bytes from the stream of bits. One common scheme is to use one start bit (0), 8 data bits, and 1 stop bit (1). The line is also at logic 1 when nothing is being transmitted (idle).Design a finite state machine that will identify when bytes have been correctly received when given a stream of bits. It needs to identify the start bit, wait for all 8 data bits, then verify that the stop bit was correct. If the stop bit does not appear when expected, the FSM must wait until it finds a stop bit before attempting to receive the next byte.2、正确代码module top_module( input clk, input in, input reset, // Synchronous reset output done ); parameter IDEL5d0,START5d1,DATA15d2,DATA25d3,DATA35d4,DATA45d5,DATA55d6,DATA65d7,DATA75d8,DATA85d9,WAIT_STOP5d10,STOP5d11; reg [4:0]state,next_state; always(posedge clk) if(reset) stateIDEL; else statenext_state; always(*)begin case(state) IDEL:next_statein?IDEL:START; START:next_stateDATA1; DATA1:next_stateDATA2; DATA2:next_stateDATA3; DATA3:next_stateDATA4; DATA4:next_stateDATA5; DATA5:next_stateDATA6; DATA6:next_stateDATA7; DATA7:next_stateDATA8; DATA8:next_statein?STOP:WAIT_STOP; WAIT_STOP:next_statein?IDEL:WAIT_STOP; STOP:next_statein?IDEL:START; default:next_stateIDEL; endcase end assign done(stateSTOP); endmodule下面这个代码的问题是如果没找到停止位为1连续的0会直接从START开始。数据结束应该必须得有一个高才能开始起始位module top_module( input clk, input in, input reset, // Synchronous reset output done ); parameter IDEL5d0,START5d1,DATA15d2,DATA25d3,DATA35d4,DATA45d5,DATA55d6,DATA65d7,DATA75d8,DATA85d9,STOP5d10; reg [4:0]state,next_state; always(posedge clk) if(reset) stateIDEL; else statenext_state; always(*)begin case(state) IDEL:next_statein?IDEL:START; START:next_stateDATA1; DATA1:next_stateDATA2; DATA2:next_stateDATA3; DATA3:next_stateDATA4; DATA4:next_stateDATA5; DATA5:next_stateDATA6; DATA6:next_stateDATA7; DATA7:next_stateDATA8; DATA8:next_statein?STOP:IDEL; STOP:next_statein?START:IDEL; default:next_stateIDEL; endcase end assign done(stateSTOP); endmodule

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号