【通用设计方法】之接收异常保护

news2025/8/8 23:18:36

目录

前言

一、接收异常保护

二、超短包、背靠背的支持

后记


前言

        为了系统的鲁棒性,我们常常会做一系列的异常保护功能,避免系统挂死。

        这里仅仅介绍接收保护的某些设计思路,抛砖引玉。

一、接收异常保护

        设计思路:通过可配置的门限阈值来对超长包/异常包进行截断处理,并将异常情况上报。

        这里门限可分为两种,一是数据包的长度,二是时间。

        当接收数据超过门限(超长/超时)而还没收到eop信号的时候,就截断报文,并自行产生一个eop信号。

        下面以超时为例,简单写下代码:


input 	    [31:0] 		i_cut_cycle_threshold;//寄存器配置,可加使能信号
input 	    [31:0] 		i_cut_len_threshold;
output 	reg [31:0] 		o_rpt_cycle_cut_cnt;//异常上报
output 	reg [31:0] 		o_rpt_len_cut_cnt;

reg					    s_frm_running;
reg 	[31:0] 		    s_cycle_cnt;

assign 	s_rx_sop 		= 	i_rx_sop && i_rx_vld && o_rx_rdy;
assign 	s_rx_eop 		= 	(i_rx_eop && i_rx_vld && o_rx_rdy) || s_cycle_cut_en;
assign 	s_cycle_cut_en	= 	s_cycle_cnt >= i_cut_cycle_threshold;

always@(posedge clk or negedge rst_n)begin
	if(~rst_n)
		s_frm_running 	<= 	1'b0;
	else if(s_rx_eop)
		s_frm_running 	<= 	1'b0;
	else if(s_rx_sop)
		s_frm_running 	<= 	1'b1;
end

always@(posedge clk or negedge rst_n)begin
	if(~rst_n)
		s_cycle_cnt 	<=	32'b0;
	else if(s_rx_eop || s_rx_sop)
		s_cycle_cnt 	<= 	32'b0;
	else if(s_frm_running)	
		s_cycle_cnt 	<= 	s_cycle_cnt + 32'd1;
end

always@(posedge clk or negedge rst_n)begin
	if(~rst_n)	
		o_rpt_cycle_cut_cnt 	<= 	32'b0;
	else if(s_cycle_cut_en)
		o_rpt_cycle_cut_cnt 	<= 	o_rpt_cycle_cut_cnt + 32'd1;
end


        超长包截断代码大致相同,就不啰嗦了,重点是设计时要有这种异常保护的意识。

        另外一种做法可以是在超过门限时,将running信号拉低,再由running&&rx_vld作为最终的vld信号,同时产生一个eop信号。

二、超短包、背靠背的支持

超短包就是包长为1,sop,eop重叠,如下图:

        背靠背就是两个包之间没有间隔,如下图:

         因为内部接收到数据后进行处理都是需要时间的,而这两种情况恰恰都没有提供足够的时间给到我们。

情况1,超短包的情况,可以考虑根据数据处理所需时钟周期进行打拍处理。

情况2,可以考虑在接收到每一包的eop信号后,强制拉低一个时钟周期的rdy信号来反压前级。

具体代码就懒得写了,也没什么东西;但是有没有其他更好的处理方式?

后记

        这是一个爬坡的过程,需要我们不断积累经验。

        欢迎分享交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/34210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

肠道微生物在天然产物生物转化中的潜在作用

谷禾健康 什么是天然产物&#xff1f; 天然产物是指动物、植物、昆虫或微生物体内的组成成分或其代谢产物以及人和动物体内许多内源性的化学成分&#xff0c;是自然产生的小分子。值得注意的是&#xff0c;天然产物来源中&#xff0c;植物来源占85%以上。 谷禾在这里主要介绍植…

【服务器数据恢复】某云ECS网站服务器mysql数据恢复案例

云服务器特点&#xff1a; 1、云服务器不需要购买硬件设备&#xff0c;用户按照业务需求支付一定的费用购买相应的硬软件资源。云服务器提供商的数据中心不仅提供硬件/软件环境&#xff0c;还提供咨询服务。 2、云服务器可以充分利用资源&#xff0c;根据业务需求随时调整硬软件…

前后端分离项目,vue+uni-app+php+mysql在线小说电子书阅读小程序系统设计与实现

功能介绍 用户首次登陆系统需要注册一个用户作为账号&#xff0c;用户在登录平台后&#xff0c;可以进行平台的操作。主要模块包括以下几点&#xff1a; 登录功能&#xff1a;注册普通账号登录&#xff1b;登录后可以修改用户的基本信息&#xff0c;也可以退出。 资讯功能&…

MySQL数据库优化总结

概述 本文所指的SQL优化主要是指MySQL优化&#xff0c;当然思想是通用的&#xff0c;其他SQL语言不排除其通用性。谈到SQL优化&#xff0c;最好有一个指导或者规范&#xff0c;照着这个规范去对比&#xff0c;发现可以优化的地方。参考博文MySQL推荐使用规范。 总体思路 优化…

移动端开发之混合开发模式优劣势综述

2020年&#xff0c;我国互联网行业实现快速发展&#xff0c;网民规模稳定增长。截至2020年底&#xff0c;我国5G网络用户数超过1.6亿&#xff0c;约占全球5G总用户数的89%。 截至2020年底&#xff0c;我国网民规模达9.89亿&#xff0c;互联网普及率达到70.4%。报告还显示&…

2022买护眼灯到底有没有用?双十二学生护眼灯该怎么选择

护眼台灯经过多年的发展&#xff0c;如今性能已经是非常不错了&#xff0c;护眼效果不能说百分之百可预防孩子近视&#xff0c;90%以上减少孩子近视的概率还是能轻松做到的&#xff0c;特别是一些主打专业护眼的台灯&#xff0c;效果极其明显出色。 学生护眼灯该怎样选择&…

echarts优秀使用案例

echarts优秀使用案例 App.vue <template><div class"box"><a-card size"small" title"各类型监测设备利用率" class"center"><!-- color 值由组件外部进行传递&#xff08;会重复修改的部分尽量减少逻辑复杂程度…

开源让这位 00 后逆袭成为各类大奖收割者

OpenI 启智社区在 2022 年推出的开源打榜活动&#xff0c;聚集了一帮非常活跃的开发者&#xff0c;上榜者覆盖了来自全国高校、科研机构、企业达 100 多家。其中&#xff0c;高校学生占 65%&#xff0c;近 60%的上榜者是 90 后&#xff0c;32%的上榜者是 00 后。真是 00 后浪推…

[hadoop全分布部署]虚拟机Hadoop集群交换 SSH 密钥与验证SSh无密码登录

&#x1f468;‍&#x1f393;&#x1f468;‍&#x1f393;博主&#xff1a;发量不足 个人简介&#xff1a;耐心&#xff0c;自信来源于你强大的思想和知识基础&#xff01;&#xff01; &#x1f4d1;&#x1f4d1;本期更新内容&#xff1a;虚拟机Hadoop集群交换 SSH 密钥与…

留学生怎么正确应对Paper写作?

留学生很多都是对Paper比较抗拒的&#xff0c;因为Paper写作的频率是很高的&#xff0c;平时的课程也是比较紧凑的。相信对于初到英国留学的小伙伴们而言Paper将很长时间都是大家的痛。多少留学生被Paper折磨&#xff0c;其实英文Paper写不好的原因在于&#xff0c;对于中国留学…

Neo4j 5的自治图数据库集群

原文作者&#xff1a;John Stegeman &#xff0c;图数据库产品专家&#xff0c;Neo4j。基于原文翻译并补充整理而成。 新近发布的Neo4j 版本5推出了自治集群&#xff08;Autonomous Cluster&#xff09;&#xff0c;以支持易于部署、可扩展、自容错等重要特性。下面我们就来一…

隐私计算推动金融转型

肖峰 开放隐私计算 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神&#xff0c;专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播&#xff0c;愿成为中国 “隐私计算最后一公里的服务区”。 178篇原创…

Outside ExpertPDF HtmlToPdf 转换器 17.0

Outside Software Inc. 是一家罗马尼亚软件公司&#xff0c;旨在提供可靠、高质量的 IT 服务。该团队的成员在开发完整的 Web 应用程序、完全可伸缩的数据库解决方案、复杂的基于 Windows 的应用程序、出色的开发人员组件和工具方面拥有多年的经验。ExpertPDF HtmlToPdf 转换器…

【现代机器人学】学习笔记一:位形空间

由于工作的关系&#xff0c;一年前开始接触机械臂。与此同时也在学习【现代机器人学】与【机器人学导论】两本书&#xff0c;感觉【现代机器人学】写的更好一些。大致走马观花的看了一遍&#xff0c;确实有所收获。因此想再从头过一遍&#xff0c;做一些总结&#xff0c;写给自…

python下载安装教程

1、下载python 下载地址&#xff1a;https://www.python.org/&#xff0c;点击Downloads,选择对应电脑系统&#xff0c;进行下载。 &#xff08;文末送读者福利&#xff09; 2、安装python&#xff0c;以python3.10.7安装为例。 &#xff08;1&#xff09;双击安装包&#x…

数据获取 | 如何获取各地高质量的航拍图并生成等高线地形?

“ 做规划的基础资料少不了航拍图和地形图&#xff0c;但是实际操作中从甲方手上并不能拿到比较新的航拍图&#xff0c;至于地形图就只能看缘分了&#xff0c;那么&#xff0c;是否还有其他渠道可以获取到呢&#xff1f;” 先说结论&#xff0c;现在&#xff08;2018年6月&…

43、集合的第一大类:Set

一、基本介绍&#xff1a; 1、Set接口的特点&#xff1a; 1&#xff09;无序&#xff08;添加和取出的顺序不一致&#xff09; &#xff0c;没有索引 2&#xff09;不允许重复元素&#xff0c;所以最多包含一个null 3&#xff09; JDK API中Set接口的实现类有&#xff1a;…

闪电连接算法之Python实现

文章目录简介原理Python实现简介 LAPO&#xff0c;即闪电连接优化(Lightning Attachment Procedure Optimization)&#xff0c;听名字就知道是受到了闪电的刺激&#xff0c;而获得灵感的一种算法。 为了走进LAPO的内心&#xff0c;于是上网搜了一下闪电的图片 呃不好意思&…

网页设计期末作业,基于HTML+CSS+JavaScript超酷超炫的汽车类企业网站(6页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

商用短链平台_第8章_ 账号微服务注册模块+短信验证码+阿里云OSS开发实战

商用短链平台_第8章_ 账号微服务注册模块短信验证码阿里云OSS开发实战 文章目录商用短链平台_第8章_ 账号微服务注册模块短信验证码阿里云OSS开发实战第八章 账号微服务注册模块短信验证码阿里云OSS开发实战第1集 账号微服务注册功能和流程介绍第2集 第三方短信验证码平台接入申…