verilog HDLBits刷题[Finite State Machines]“Fsm ps2data”---PS/2 packet parser and datapath
1、题目See also: PS/2 packet parser.Now that you have a state machine that will identify three-byte messages in a PS/2 byte stream, add a datapath that will also output the 24-bit (3 byte) message whenever a packet is received (out_bytes[23:16] is the first byte, out_bytes[15:8] is the second byte, etc.).out_bytes needs to be valid whenever the done signal is asserted. You may output anything at other times (i.e., dont-care).For example:2、分析三个字节也就是24bit输出一次并拉高done。并且第一个字节的bit[3]一定是1。3、正确代码module top_module( input clk, input [7:0] in, input reset, // Synchronous reset output reg[23:0] out_bytes, output done); // parameter IDEL4d0001,BYTE14d0010,BYTE24d0100,BYTE34d1000; reg [3:0]state,next_state; always(*)begin case(state) IDEL: next_statein[3]?BYTE1:IDEL; BYTE1: next_stateBYTE2; BYTE2: next_stateBYTE3; BYTE3: next_statein[3]?BYTE1:IDEL; default:next_stateIDEL; endcase end always(posedge clk)begin if(reset) stateIDEL; else statenext_state; end always(posedge clk)begin if(reset) out_bytes24d0; else out_bytesout_bytes8|in;//左移8位低八位补0或上in end assign done(stateBYTE3); endmodule3-1、错误代码不知道为什么会这样module top_module( input clk, input [7:0] in, input reset, // Synchronous reset output [23:0] out_bytes, output done); // parameter IDEL4d0001,BYTE14d0010,BYTE24d0100,BYTE34d1000; reg [7:0]in_byte1,in_byte2,in_byte3; reg [3:0]state,next_state; always(*)begin case(state) IDEL:begin next_statein[3]?BYTE1:IDEL;in_byte1in;end BYTE1:begin next_stateBYTE2;in_byte2in;end BYTE2:begin next_stateBYTE3;in_byte3in;end BYTE3:begin next_statein[3]?BYTE1:IDEL;end default:next_stateIDEL; endcase end always(posedge clk)begin if(reset) stateIDEL; else statenext_state; end assign done(stateBYTE3); assign out_bytes(done)?{in_byte1,in_byte2,in_byte3}:24d0; endmodule4-1错误结果

相关新闻

高景观与轻便伞车避震差异及适用场景对比解析

高景观与轻便伞车避震差异及适用场景对比解析

不同出行场景下的避震需求差异解析关于如何判断婴儿推车的避震性能好坏,并没有一个放之四海而皆准的“绝对标准”。高景观推车与轻便伞车(或遛娃神器)的设计逻辑存在本质差异:前者侧重于乘坐舒适性与行驶稳态,后者则更…

2026/8/1 6:24:08 阅读更多 →
STM32 Flash锁死全解析:从SWD调试到串口ISP的完整解决方案

STM32 Flash锁死全解析:从SWD调试到串口ISP的完整解决方案

1. 从“Flash Download Failed”说起:一个STM32开发者绕不开的坎如果你正在用STM32 F103C8T6(也就是我们常说的“蓝桥杯板子”或“最小系统板”的核心)做开发,那么“Error: Flash Download Failed - Cortex-M3”这个弹窗&#xff…

2026/8/1 6:24:08 阅读更多 →
深入解析I2C总线:从物理层到协议栈的嵌入式通信实战指南

深入解析I2C总线:从物理层到协议栈的嵌入式通信实战指南

1. 从两根线开始:为什么I2C如此流行?如果你拆开过任何一块现代电子设备的主板,无论是手机、智能手表,还是你桌上的单片机开发板,你几乎都能找到I2C总线的身影。它可能连接着屏幕、传感器、EEPROM存储器或者一个实时时钟…

2026/8/2 9:10:57 阅读更多 →

最新新闻

分布式任务调度核心原理与XXL-Job实战指南

分布式任务调度核心原理与XXL-Job实战指南

1. 从单体到分布式:为什么我们需要一个靠谱的任务调度器?如果你做过几年后端开发,肯定遇到过这样的场景:项目初期,几个简单的定时任务,用 Spring 的Scheduled注解,或者直接写个Timer、Quartz单机…

2026/8/2 9:10:04 阅读更多 →
从语法到工程:微软视角下的C++实践进阶指南

从语法到工程:微软视角下的C++实践进阶指南

最近在整理技术笔记时,翻到一份几年前的C面试准备清单,里面密密麻麻地记录着各种语法细节和“八股文”。当时为了应付面试,确实花了不少功夫去背。但真正工作几年后,再回头看,发现那些能让你在项目中站稳脚跟、写出健壮…

2026/8/2 9:10:04 阅读更多 →
归并排序与快速排序深度对比:从原理到实战选型指南

归并排序与快速排序深度对比:从原理到实战选型指南

1. 项目概述:从“排序”这个日常操作说起我们每天都在和排序打交道,无论是整理书架上的书、给手机里的照片按时间排列,还是查看电商网站上按价格从低到高的商品列表。在计算机的世界里,排序更是无处不在,它是数据处理、…

2026/8/2 9:10:04 阅读更多 →
多模态大模型夜盲症揭秘:NightSight基准实测与低光视觉鲁棒性提升

多模态大模型夜盲症揭秘:NightSight基准实测与低光视觉鲁棒性提升

1. 项目概述:当AI在黑夜中“失明” 最近在ICLR 2026上看到一篇很有意思的工作,核心议题直指当前多模态大模型的一个“阿喀琉斯之踵”:夜盲。没错,就是字面意思。我们平时用GPT-4V、Gemini、Claude这些模型处理图片时,感…

2026/8/2 9:10:04 阅读更多 →
聊了6位毕业3年的学长,普通人怎么选EMBA

聊了6位毕业3年的学长,普通人怎么选EMBA

对处于职业上升关键期的企业中层、高层管理者而言,选择适配的EMBA项目,核心是算清时间、资金投入与长期职业回报的账,香港科技大学EMBA中英双语课程是不少把跨境发展、科技赛道布局作为目标的高管会优先纳入考量的选项。近期和6位毕业满3年、…

2026/8/2 9:10:04 阅读更多 →
Codex桌宠开发实战:从环境配置到智能交互的完整指南

Codex桌宠开发实战:从环境配置到智能交互的完整指南

你有没有试过在写代码的时候,希望有个虚拟伙伴在旁边?不是那种冷冰冰的代码提示工具,而是真正有互动感、能给你反馈的桌面伴侣。最近,一个叫“codex桌宠”的项目开始在开发者圈子里流传,特别是它结合了热门游戏《鸣潮》…

2026/8/2 9:09:04 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/2 2:47: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/2 0:23:22 阅读更多 →