序列检测101 状态机实现

module jiance #

(
parameter CNT_NUM = 12500000
)

( clk,rst_n,data, clk_1hz,out);
input clk,rst_n,data;
output reg out,clk_1hz;
reg [1:0] cstate,nstate;
parameter s0=2‘b00,
s1=2‘b01,
s2=2‘b10;

reg [24:0] cnt = 25‘d0;
//reg clk_1hz = 1‘b0;
[email protected](posedge clk or negedge rst_n) begin
if(!rst_n) begin
cnt <= 25‘d0;
clk_1hz <= 1‘b0;
end else if(cnt>=(CNT_NUM-1)) begin
cnt <= 25‘d0;
clk_1hz <= ~clk_1hz;
end else begin
cnt <= cnt + 25‘d1;
end
end
[email protected](posedge clk_1hz or negedge rst_n)
if(!rst_n) cstate<=s0;
else cstate<=nstate;
[email protected](posedge clk_1hz or negedge rst_n)
begin
if(!rst_n)nstate<=s0;
else begin

case(cstate)
s0:nstate <=(data)?s1:s0;
s1:nstate<=(data)?s1:s2;
s2:nstate<=(data)?s1:s0;
default:nstate<=s0;
endcase
end
end
[email protected](posedge clk_1hz or negedge rst_n)
begin
if(!rst_n)out<=0;
else
case(nstate)
s0:out<=0;
s1:out<=0;
s2:begin if(data==1)out<=1;
else out<=0;end
default:out<=0;
endcase
end
endmodule

时间: 2024-10-11 03:30:47

序列检测101 状态机实现的相关文章

入侵检测技术考点

第一章.入侵检测概述 入侵检测定义:入侵是指在非授权得情况下,试图存取信息.处理信息或破坏以使系统不可靠.不可用的故意行为. 入侵检测的基本原理:主要分为四个阶段: 1.      数据收集:数据收集是入侵检测的基础,采用不同的方法进行分析. 2.      数据处理:从原始数据中除去冗余.杂声,并且进行格式化以及标准化处理. 3.      数据分析:检查数据是否正常,或者显示是否存在入侵. 4.      响应处理:发现入侵,采取措施进行保护,保留入侵证据并且通知管理员. 1.4 入侵检测的

windows cluster 心跳检测阀值优化

通过cmd命令Cluster.exe /prop查看当前群集的属性信息,其中心跳阀值相关属性: SameSubnetDelay:同一子网中的节点的测信号频率 SameSubnetThreshold: 同一子网中的节点的延迟的阈值 CrossSubnetDelay: 不同的子网中的节点的检测信号频率 CrossSubnetThreshold: 在不同的子网中的节点的延迟的阈值 SameSubnetDelay 默认代表每1秒执行一次Windows群集心跳检测,SameSubnetThreshold

基于FPGA的序列检测器

配套FPGA开发板(含该设计的工程代码):https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-4676525296.4.6e8950ed57YPhv&id=17848039135 功能说明 本设计主要分为3个模块:序列产生模块.序列检测模块.检测结果数码管显示模块. 其中序列产生模块主要用来产生序列,用于仿真测试:序列检测模块用于对序列进行检测,本设计设计的检测序列的长度为8bit,当检测到一个对应的序列的时候,检测成功计数器会进行计数,该计

目标检测算法的历史及分类

随着人工智能的兴起,目标检测算法在各行业中起的作用越来越大,怎么落地,这是一个非常严峻的话题.今天看到一位大牛的分享,学习了. 把该领域的算法和历史做个梳理.方便后续研究. 按照时间分类,可以把该算法分成两类:传统算法和CCN算法.  传统算法: 级联分类器框架:Haar/LBP/积分HOG/ACF feature+Adaboost 级联分类器最先由Paul Viola and Michael J. Jones在CVPR 2001中提出来. 其实这就是boosting由简单弱分类拼装强分类器的过

In Search of an Understandable Consensus Algorithm(翻译)

In Search of an Understandable Consensus Algorithm (Extended Version) Diego Ongaro and John Ousterhout Stanford University 文章来源:http://blog.csdn.net/hfty290/article/details/42742105 摘要 Raft是一个管理日志复制的一个一致性算法.他产生一个结果等同于Paxos算法,与Paxos有着同样的效率,但是与Paxos有不同

游戏引擎架构读书心得(一)

最近在读<游戏引擎架构>这本书,虽然感觉理论颇多,而且很多很多东西都看不懂,不过还是简单的把一些感觉很好的思想和方法或者概念记录下来. 1.      关于各个部件初始化,一个最简单粗暴的办法就是将各个部件按顺序排列起来,不但可以方便的看到初始化顺序,而且修改也十分容易. 2.      关于内存分配: a)        游戏中最常见的法则是-维持最低限度的堆分配,并且永远不在紧凑的循环中使用堆分配. b)        定制的内存分配器,先预先申请一大块内存,然后构建自己的内存分配器(st

JavaScript语言精髓(1)之语法概要拾遗(转)

逻辑运算 JavaScript中支持两种逻辑运算,"逻辑或(||)"和"逻辑与(&&)",他们的使用方法与基本的布尔运算一致: var str= 'hello';var obj = {};x = str || obj;y = str && obj; 这种运算符的特殊之处在于,他既不改变运算元的数据类型,也不强制运算结果的数据类型.除此之外,还有两条特性: 运算符会将运算元理解为布尔值: 运算过程支持布尔短路. 因此上例中, x运算结果

FPGA整理资料

1.寄存器与锁存器 锁存器:电平触发的存储单元,在有效电平时间里可以多次改变数据. 优点:    占触发器资源少,缺点是容易产生毛刺.(附上去毛刺的方法:格雷码计数器(*https://blog.csdn.net/qp314/article/details/5147695*)代替二进制码计数器,或者用D触发器同步.) 在FPGA中用的很少,因为FPGA中触发器的资源非常丰富. 寄存器:边沿触发的存储单元,在上升或下降沿数据变化,一个周期里只能变化一次.(寄存器是有DFF(D触发器)构成的,它起的

Raft算法论文(部分)

原文地址->Raft算法 摘要 Raft是用于管理被复制的日志的共识算法.它与multi-Paxos算法产生的效果相同,并且和Paxos算法一样高效.但是结构与Paxos不同.这使得Raft算法比Paxos算法更容易理解.也为构建实际系统提供了更好的基础.为了加强理解,Raft将几个关键元素分离,比如leader选举,日志复制,安全性.并增强了一致性,以减少必须考虑的状态数.一项用户研究的结果表明,与Paxos相比,Raft算法更易于学生学习.Raft也提供了用于更新集群成员关系的新的机制.它使