kaiyun官方注册
您所在的位置: 首页> 模拟设计> 其他> IC设计错误案例

IC设计错误案例

fifo读控制之不合理的流控
2023-12-11
来源:EETOP
关键词: IC设计 案例

-以下文章来源于IC的世界 ,作者IC小鸽-

本文将简述一种fifo读控制的不合理设计案例,在此案例中,反压信号type1_fc和type2_fc会不合理阻塞读控制信号,造成性能损失,甚至会造成严重bug。

如下图所示:all_data_fifo 为主数据路径的存储fifo,用于存储报文,所有正常报文类型包含:TYPE1和TYPE2。数据从all_data_fifo读出后会分根据报文类型分发到两个fifo,分别是type1_data_fifo和type2_data_fifo。两个fifo分别产生反压信号type1_fc和type2_fc作用到data_fifo的读控制模块。type1_data_fifo/type2_data_fifo将满时,将type1_fc/type2_fc置1表示不希望上游all_data_fifo向下发送数据。

data_fifo_ren为all_data_fifo读使能信号,1表示读fifo。all_data_fifo_empty为1表示all_data_fifo为空,没有数据。错误设计中,all_data_fifo_empty、type2_fc和type1_fc均为0,才允许读all_data_fifo。

正确设计中,应该区分当前all_data_fifo中的数据类型,当数据为type1类型时,type1_fc才会生效,当数据为type2类型时,type2_fc才会生效,避免出现过度流控,造成数据阻塞。

NOTE: 本文中列举的案例很简单,但在实际芯片设计中时常会出现此类问题,并且隐藏在很复杂的读控制逻辑中,不容易发现。

屏幕截图 2023-12-11 190745.png

屏幕截图 2023-12-11 190851.png

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map