0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IC设计:一种简单超时机制

ruikundianzi 来源:IC的世界 2023-10-19 09:37 次阅读

1.超时判断机制

在设计中,为了增加异常处理能力,保证设备的正常运行,常常需要进行超时判断。

如下图,当master发起mem读请求后,收到读返回数据时,进行超时判断,如果超时,则数据丢弃,如果没有超时,则数据正常接收。

2.超时机制实现

如果在数据发送过程中,发送者向接收者发送数据,通常需要接收者通知发送者自身是否可以接收数据

采用一个公共的32bit clk_cnt作为时间基准,根据不同的超时精度,采用32bit中的连续2bit,1GHz时钟,每个周期1n,例如采用clk_cnt[20:19],可以记录2^21ns级别的精度,即2ms级别的时间精度。

本文中master能够发起256个outstanding(未完成)请求,req_id[7:0]从0到255,且工作时钟clk为1Ghz,发起的mem读请求,且在1us后都没有收到数据,则认为超时。

步骤1:master发起mem_rd请求时,以req_id作为地址,将clk_cnt[20:19]作为data,写入256x2 1r1w_ram中。

步骤2:当master收到读返回数据时,以req_id作为地址从ram中读取data,记作clk_cnt_record

步骤3:提取当前时刻clk_cnt[20:19],记录为clk_cnt_now,如果clk_cnt_now-clk_cnt_record 的绝对值大于1,则表示超时。

案例:

clk_cnt_record 为 10,clk_cnt_now为00,则表示超时。

clk_cnt_record 为 10,clk_cnt_now为11,则认为不超时。

cfb6321c-6da5-11ee-939d-92fbcf53809c.png

3.特点说明

优点:此类设计比较简单,所需的逻辑资源较少,并且可以调节超时时间精度。

缺点:

如果超时时间过长,已经从clk_cnt_record翻转了一圈再返回时,则无法判断是否为超时。即clk_cnt_record(10)-->11-->00-->01-->10-->11(clk_cnt_now),实际已超时,但是判断为没有超时。

没有读返回数据时,无法判断是否超时。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7048

    浏览量

    89073
  • IC设计
    +关注

    关注

    38

    文章

    1297

    浏览量

    103987
  • 时钟
    +关注

    关注

    11

    文章

    1734

    浏览量

    131511

原文标题:IC设计:一种简单超时机制

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IC安全烧录量产设计的一种机制

    当产品正式转产批量生产烧录时,您是否担心过批量烧录过程能否真正保证核心敏感数据的安全,是否困扰过如果遇到有心人刻意窃取山寨,又是否有可靠有效的保护措施防范?今天我们就来分享一种加密工程的机制,让您实现无忧烧录量产。
    的头像 发表于 07-02 09:17 4867次阅读

    espconn_gethostbyname接口DNS解析超时机制要自己做吗?

    espconn_gethostbyname这个接口,DNS解析超时机制要自己做吗?,这个接口的回调函数是如何触发的,有没有超时触发机制
    发表于 07-12 12:29

    请问HAL库的超时机制可以修改吗?

    HAL库的超时机制,好像都是采用循环判断的方式(如下面代码中的红色部分),这对于低功耗控制和程序的时序控制太不利了,如果超时比较长,且该段代码在高优先级的任务中执行,则低优先级的任务在这段超时
    发表于 01-30 07:15

    Linux串口通信的超时机制

    在Linux下使用串口通信时,默认的阻塞模式是不实用的。而采用select或epoll机制的非阻塞模式,写代码有比较麻烦。幸好Linux的串口自己就带有超时机制
    发表于 07-05 08:38

    VxWorks共享看门狗定时机制该怎么设计?

    ,其良好的实时性、对多任务的支持、体积精简、可剪裁等优点得到众多公司、开发者及用户的喜爱。在实时性要求高的应用系统中,定时器是经常被用到的重要器件。而对于VxWorks操作系统本身来说,并未提供个通用、高效的定时器组件。文章所提出的共享看门狗定时机制就是针对这种情况实现
    发表于 09-03 08:31

    怎样去设计一种同步补偿机制(CDCO算法)?

    本文基于发送方接收方双向同步算法的原理,提出一种基于时钟漂移与偏移的同步补偿机制(CDCO算法)。
    发表于 05-17 06:18

    分享个非常简单的内存数据库

    database1.接口定义ucomlib接口主要有:初始化和去初始化。数据读取和存储接口。超时机制。1.1 初始化和去初始化int CommuInit(voi...
    发表于 02-11 06:41

    基于ARP缓存超时的中间人攻击检测方法

    探讨ARP协议工作机理,通过对内部网络通信危害较大的ARP欺骗技术的分析,提出一种交换网络环境下基于ARP缓存超时机制的中间人攻击行为检测方法,研究Windows操作系统中ARP缓存超
    发表于 04-18 09:41 17次下载

    一种ad hoc网信任声誉评估机制

    在Ad hoc 网络中,设计一种有效的机制来确保信息包的有效传递是研究重点。本文提出了一种信任声誉评估机制,不同于以往根据位置评估声誉和处理恶意节点散播虚假声誉的
    发表于 09-22 10:24 5次下载

    一种简单快捷的SVPWM算法

    2011-一种简单快捷的SVPWM算法。
    发表于 04-13 15:42 23次下载

    基于公平心跳超时容错机制

    故障误判损失模型,提出公平误判损失(FMJL)算法,使其同时满足长作业和短作业要求;接着,设计并实现了基于FMJL算法的公平超时机制。在实现了公平超时机制的Hadoop上运行大约345 s的短作业时,当出现TaskTracker节点故障时作业完成时间平均
    发表于 01-02 10:43 0次下载

    IC设计知识点:一种简单超时机制

    采用个公共的32bit clk_cnt作为时间基准,根据不同的超时精度,采用32bit中的连续2bit,1GHz时钟,每个周期1n,例如采用clk_cnt[20:19],可以记录2^21ns级别的精度,即2ms级别的时间精度。
    的头像 发表于 09-21 15:28 860次阅读

    如何设计STM32嵌入式程序的超时机制

    在嵌入式软件程序设计过程中中,经常会遇到超时(或定时)的处理情况,基本处理思想是在时间到的时候进行相关程序处理,下面介绍两超时(或定时)的程序设计方案。
    的头像 发表于 06-15 17:04 1460次阅读
    如何设计STM32嵌入式程序的<b class='flag-5'>超时机制</b>?

    STM32程序超时设计

    软件超时机制 1、背景 在嵌入式软件程序设计过程中中,经常会遇到超时(或定时)的处理情况,基本处理思想是在时间到的时候进行相关程序处理,下面介绍两超时(或定时)的程序设计方案。 2、
    的头像 发表于 06-22 10:52 1176次阅读
    STM32程序<b class='flag-5'>超时</b>设计

    影响报文超时上报的机制有哪些

    前言 最近遇到个CAN报文超时Notification不上报导致ECU不休眠的偶发问题,本文分享解决问题的思路及影响报文超时上报的机制,希望能给各位读者
    的头像 发表于 08-07 09:16 1677次阅读
    影响报文<b class='flag-5'>超时</b>上报的<b class='flag-5'>机制</b>有哪些