FPGA 检测0101序列 修正罗杰主编教材中5.2.3二段式报错

2024-02-09 13:59

本文主要是介绍FPGA 检测0101序列 修正罗杰主编教材中5.2.3二段式报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于 源代码书上

module Detector2 (
input Sin, CP, nCR, //声明输入
output reg Out //声明输出
);
reg [1:0] Current_state, Next_state; //声明状态触发器变量
parameter S0=2'b00, S1=2'b01, S2=2'b10, S3=2'b11;
//时序逻辑: 描述状态转换
always @(pose<e CP, nege<e nCR)
begin
if (~nCR) Current_state<=S0; //异步清零
else
Current_state<=Next_state; //在CP上升沿触发器状态翻转
end
//组合逻辑:描述下一状态和输出
always @(Current_state, Sin)
begin
Next_state=2'bxx;
Out=1'b 0;
case(Current_state) //根据当前状态和状态转换条件进彳
S0: begin Out=1'b0; Next_state=(Sin==1)? S0 : S1; end
S1: begin Out=1'b0; Next_state=(Sin==1)? S2 : S1;end
S2: begin Out=1'b0; Next_state=(Sin==1)? S0 : S3; end
S3: if (Sin==1)
begin Out=1'b1; Next_state=S2; end
else
begin Out =1'b0; Next_state=S1; end
endcase
end
endmodule

出现两个报错,

开始以为是编码问题,使用vs code 打开后取出非法字符

编译还是出现错误,教材未对always @(pose<e CP, nege<e nCR)
begin改行代码做出解释,所以应该是何=和第一种编写方式一样才对。

修改后

module Detector2 (Sin,nCR,CP,Out);
input Sin,nCR,CP;//声明输入
output reg Out;//声明输出reg [1:0] Current_state, Next_state;//声明状态触发器变量
parameter S0=2'b00, S1=2'b01, S2=2'b10, S3=2'b11;
//时序逻辑: 描述状态转换
always @(posedge CP, negedge nCR)
begin
if (~nCR) Current_state<=S0;
else
Current_state<=Next_state;//在CP上升沿触发器状态翻转
end
//组合逻辑:描述下一状态和输出
always @(Current_state, Sin)
begin
Next_state=2'bxx;
Out=1'b 0;
case(Current_state)
S0: begin Out=1'b0; Next_state=(Sin==1)? S0 : S1; end
S1: begin Out=1'b0; Next_state=(Sin==1)? S2 : S1; end
S2: begin Out=1'b0; Next_state=(Sin==1)? S0 : S3; end
S3: if (Sin==1)
begin Out=1'b1; Next_state=S2;  end
else
begin Out =1'b0; Next_state=S1; end
endcase
end
endmodule

,果然,

这篇关于FPGA 检测0101序列 修正罗杰主编教材中5.2.3二段式报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/694415

相关文章

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法

《Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法》本文解析Spring框架中BeanCreationExce... 目录引言一、问题描述1.1 报错示例假设我们有一个简单的Java类,代表一个用户信息的实体类:然后,