FPGA实现复杂状态机的跳转-判断标准数据帧
填补之前的状态机跳转挖的坑;
数据源对比标准帧:
第一步:ROM当做数据源:使能开启,使用地址addr控制其输出。(使用状态机写入RAM时的控制选用addr)
RAM作为标准帧的缓存,使用addr_ram作为RAM的写入地址。
此时ROM的地址比RAM的地址延迟了一个节拍;(addr_ram<=addr;)
第二步:RAM缓存写满之后开启对比。
RAM输出使能开启。
由于当遇到两帧不相同时需要重新将值写入RAM中,所以状态机的设计:一、写入RAM;二、对比第一帧;三、对比第二之第五帧,(关键点:如果正确帧为1~5则在本状态循环,如果正确帧为0,则跳回状态1,重新写入RAM,如果正确帧大于5,则跳入下一状态)。
判断模块:ena&&enb作为判断条件,两个寄存器的值异或,结果为0,继续判断1024个完全相同则正确帧数加1;如果任意一个不相同则正帧数置为0,状态跳转,重新写入RAM。
原文地址:https://blog.csdn.net/sunsheets/article/details/143574996
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!