verilog HDLBits刷题[Finite State Machines]“Fsm hdlc”---Sequence recognition
1、题目Synchronous HDLC framing involves decoding a continuous bit stream of data to look for bit patterns that indicate the beginning and end of frames (packets). Seeing exactly 6 consecutive 1s (i.e., 01111110) is a flag that indicate frame boundaries. To avoid the data stream from accidentally containing flags, the sender inserts a zero after every 5 consecutive 1s which the receiver must detect and discard. We also need to signal an error if there are 7 or more consecutive 1s.Create a finite state machine to recognize these three sequences:0111110: Signal a bit needs to be discarded (disc).01111110: Flag the beginning/end of a frame (flag).01111111...: Error (7 or more 1s) (err).When the FSM is reset, it should be in a state that behaves as though the previous input were 0.Here are some example sequences that illustrate the desired operation.Discard 0111110:2、分析借助豆包初始复位默认前一个输入比特为0持续统计数据流中连续 1 的个数每收到 1 个 1连续 1 计数 1收到 0连续 1 计数立刻清零回到初始状态三类触发信号定义disc连续5 个 1后紧跟 1 个 00 11111 0该 0 需要丢弃disc 拉高 1 周期flag连续6 个 1后紧跟 1 个 00 111111 0代表帧边界flag 拉高 1 周期err出现7 个及以上连续 1持续报错只要连续 1≥7err 持续拉高直到出现 0 清零时序要求disc、flag检测到对应序列后延迟 1 个时钟周期输出时钟同步寄存输出err进入 7 个 1 错误态时立刻实时输出无延迟同步复位复位后所有输出清零、回到初始状态。设计思路状态划分状态含义S0前一位是 0连续 1 个数 0复位初始态S1~S6连续 1 的个数分别为 1~6S7连续 1≥7错误状态状态跳转规则任意状态收到in1状态 1任意状态收到in0直接跳回 S0连续 1 清零S7 收到 1 则保持 S7收到 0 回到 S0 解除报错。输出拆分设计errMoore 组合输出仅由当前状态决定S7 立刻置 1消除滞后disc/flagMealy 时序寄存输出延迟一拍匹配评测参考波形时序。刚开始思路混乱设置状态为IDEL连续5个1连续6个1连续7个1并借助计数器但是计数器的处理没处理成功。问了ai确实设置状态为每一bit最好。3、代码module top_module( input clk, input reset, // Synchronous reset 同步复位 input in, // 串行比特输入流 output reg disc,// 5个1后接0丢弃该0标志 output reg flag,// 6个1后接0帧边界标志 output reg err // 7个及以上连续1错误标志 ); // 状态宏定义状态编号 当前已接收连续1的个数 localparam S0 0; // 连续1个数0上一比特为0复位初始态 localparam S1 1; // 连续1个1 localparam S2 2; // 连续2个1 localparam S3 3; // 连续3个1 localparam S4 4; // 连续4个1 localparam S5 5; // 连续5个1比特填充检测点 localparam S6 6; // 连续6个1帧标志检测点 localparam S7 7; // 连续≥7个1错误状态 reg [2:0] curr_state; // 当前状态寄存器 reg [2:0] next_state; // 下一状态组合逻辑变量 // 时序逻辑状态寄存器更新同步复位 // 时钟上升沿更新当前状态复位强制回到初始S0 always (posedge clk) begin if(reset) begin curr_state S0; end else begin curr_state next_state; end end // 组合逻辑状态跳转逻辑 always (*) begin next_state S0; // 默认赋值避免组合逻辑生成锁存器 case(curr_state) S0: next_state in ? S1 : S0; // 来1→1个1来0保持清零 S1: next_state in ? S2 : S0; S2: next_state in ? S3 : S0; S3: next_state in ? S4 : S0; S4: next_state in ? S5 : S0; S5: next_state in ? S6 : S0; // 5个1再来1→6个1来0清零 S6: next_state in ? S7 : S0; //6个1再来1→进入错误态来0清零 S7: next_state in ? S7 : S0; //≥7个1持续保持错误来0退出报错 default: next_state S0; //异常状态兜底清零 endcase end // 组合逻辑err实时输出 // Moore输出仅由当前状态决定进入S7立刻报错无延迟 always (*) begin err (curr_state S7) ? 1b1 : 1b0; end // 时序逻辑disc、flag寄存输出延迟1拍 // disc、flag需要延迟1个时钟周期输出和参考波形对齐 always (posedge clk) begin //复位时两个标志强制清零 if(reset) begin disc 1b0; flag 1b0; end else begin disc 1b0; flag 1b0; case(curr_state) // 当前是5个1下一比特为0下一拍拉高disc S5: if(in 1b0) disc 1b1; // 当前是6个1下一比特为0下一拍拉高flag S6: if(in 1b0) flag 1b1; default:; endcase end end endmodule

相关新闻

计算机毕业设计之成绩管理系统

计算机毕业设计之成绩管理系统

本文首先实现了高校成绩管理系统设计与实现管理技术的发展随后依照传统的软件开发流程,最先为系统挑选适用的言语和软件开发平台,依据需求分析开展控制模块制做和数据库查询构造设计,随后依据系统整体功能模块的设计,制作系统的功…

2026/8/1 16:56:28 阅读更多 →
基于树莓派Pico与RP2040的DALI-2主控制器设计与实现

基于树莓派Pico与RP2040的DALI-2主控制器设计与实现

1. 项目概述:从“灯”到“光网络”的进化 如果你接触过智能家居或者商业照明,大概率听说过DALI。DALI,全称是数字可寻址照明接口,它早已不是个新名词。但当我第一次看到“Pico-DALI2”这个项目标题时,我的兴趣立刻被点…

2026/8/1 16:56:28 阅读更多 →
OpenDog V3四足机器人架构深度解析与实现路径

OpenDog V3四足机器人架构深度解析与实现路径

OpenDog V3四足机器人架构深度解析与实现路径 【免费下载链接】openDogV3 项目地址: https://gitcode.com/gh_mirrors/op/openDogV3 在机器人技术快速发展的今天,四足机器人正从实验室走向实际应用,面临着运动控制复杂性、机械结构可靠性、系统集…

2026/8/1 16:56:28 阅读更多 →

最新新闻

企业微信协议怎么接入?从环境准备到第一条消息的联调步骤

企业微信协议怎么接入?从环境准备到第一条消息的联调步骤

适合准备做企微客服、SCRM、聚合会话的后端同学。按可执行清单写,接口名以你方实际文档为准。写在前面对接协议能力时,最容易犯的错是:对着接口列表东点西点,登录态、回调、业务调用顺序乱了,排障成本很高。更稳的做法…

2026/8/1 20:07:08 阅读更多 →
免费接口拉数据遇到股票停牌?教你用 Python + QuantDash 彻底解决账户金额对不上难题

免费接口拉数据遇到股票停牌?教你用 Python + QuantDash 彻底解决账户金额对不上难题

📌 摘要 / 快速解答 (Direct Answer) 免费接口(如 AkShare/Tushare 免费层)在标的停牌时通常会直接“丢弃”当日 K 线,导致组合计算每日总市值时,停牌股票的持仓金额算不进去或变成 NaN,出现“资产凭空蒸发…

2026/8/1 20:07:08 阅读更多 →
CISA六步隔离蓝图实战指南:关键基础设施网络攻击应急隔离落地教程

CISA六步隔离蓝图实战指南:关键基础设施网络攻击应急隔离落地教程

2026年7月底,美国CISA联合五眼联盟、FBI等多家权威机构正式发布《CI Fortify – Advice for isolating vital systems》防护指南。这套行业全新的六步隔离蓝图,彻底推翻了传统网络安全应急的处置逻辑。过往企业和基础设施运维团队遭遇网络攻击时&#xf…

2026/8/1 20:07:08 阅读更多 →
RHCE9.0 vs RHCE10.0 深度对比:现在考哪个更划算?

RHCE9.0 vs RHCE10.0 深度对比:现在考哪个更划算?

最近后台被问爆同一个问题:红帽 RHCE 出 10.0 新版了,旧版 9.0 还能考,预算有限、想跳槽、零基础转行,到底选哪个? 不少运维同行纠结到失眠:怕考 9.0 刚拿证就淘汰,又怕 10.0 难度飙升、备考周期…

2026/8/1 20:07:08 阅读更多 →
可灵运镜风格选择全链路解析,从脚本意图→镜头语言→参数映射→成片质检(含独家校验checklist)

可灵运镜风格选择全链路解析,从脚本意图→镜头语言→参数映射→成片质检(含独家校验checklist)

更多请点击: https://kaifayun.com 第一章:可灵运镜风格选择全链路解析导论 可灵运镜(Keling Mirror)作为新一代AI视觉生成框架,其风格选择机制并非单一参数控制,而是贯穿数据预处理、提示工程、潜空间调度…

2026/8/1 20:07:08 阅读更多 →
DDSM315工业以太网协议:高精度同步与确定性实时通信实战解析

DDSM315工业以太网协议:高精度同步与确定性实时通信实战解析

1. 项目概述:DDSM315,一个被低估的工业通信协议如果你在工业自动化、机器人或者高端数控机床领域摸爬滚打过几年,大概率会听说过“现场总线”这个词。从早期的Modbus、Profibus,到后来风头正劲的EtherCAT、PROFINET,每…

2026/8/1 20:06:07 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/8/1 13:02:46 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →