IC设计高级012:afifo读数据用什么信号采样
在设计中,读afifo时需要根据afifo数据输出的拍数进行数据采样。
数据采样时,建议使用非空判断后产生的vld信号进行数据采样,避免因空读产生无效的数据输出。如下文,afifo_rd_en是 afifo的读使能,afifo_rd_en_dly1是afifo读使能打一拍后的信号。afifo_rd_data_vld 是afifo输出有效valid,是由afifo_rd_en && (!empty)打拍后产生的,产生空读时afifo_rd_data_vld为0,推荐使用afifo_rd_data_vld进行数据采样,当afifo没有数据时,afifo_rd_en即使有效,也不会输出无效数据。不推荐使用afifo_rd_en_dly1进行数据采样,否则当afifo内部没有数据时也会产生data_vld。当然如果afifo_rd_en的产生逻辑没有问题也不会出现问题,但方式1的自我保护能力更强,更推荐使用
//方式1:推荐使用方式,应该使用afifo_rd_data_vld作为有效信号
always @(posedge rd_clk or negedge rd_rst_n)if(~rd_rst_n)data_out <= 1024{1'b0}};else if(afifo_rd_data_vld) data_out <= afifo_rd_data;always @(posedge rd_clk or negedge rd_rst_n)if(~rd_rst_n)data_vld <= 1'b0 ;else data_vld <= afifo_rd_data_vld;//方式2:不推荐方式,
always @(posedge rd_clk or negedge rd_rst_n)if(~rd_rst_n)data_out <= 1024{1'b0}};else if(afifo_rd_en_dly1) data_out <= afifo_rd_data;always @(posedge rd_clk or negedge rd_rst_n)if(~rd_rst_n)data_vld <= 1'b0 ;else data_vld <= afifo_rd_en_dly1;//-------------------------------------------//
//afifo外部代码
always @(posedge rd_clk or negedge rd_rst_n)if(~rd_rst_n)afifo_rd_en_dly1 <= 1'b0;else afifo_rd_en_dly1 <= afifo_rd_en;//如下部分为afifo内部代码
input afifo_rd_en,
output afifo_rd_data_vld,
output [1023:0] afifo_rd_data,assign afifo_ren = afifo_rd_en && (!empty);bit_delay
#(
.DELAY_CYCLES (1),
.INIT_VAL (0)
)
bit_delay_u0(.clk (rd_clk), .rst_n (rd_rst_n),.inbit (afifo_ren),.outbit (afifo_rd_data_vld)
);
IC设计高级012:afifo读数据用什么信号采样相关推荐
- linux mipi驱动分析_寒武纪社招内推数字IC设计、DSI驱动、软件架构、产品经理、芯片架构、工具链开发、深度学习、FAE工程师...
点击上方蓝字关注我吧! 为什么内推更靠谱?内推是基于人脉关系链的推荐,其背后有一定的信用背书,靠谱的人推荐的人相对也会比较靠谱,所以企业一般职位都是从内部开始分享的,相较于自己海投简历,内推的效率和成 ...
- verilog hdl数字集成电路设计原理与应用_数字IC设计经典书籍推荐
数字IC设计流程很复杂,从前端到后端,也有很多职位.在这里整理了个数字IC各个环节的经典必读书籍.市面上的书籍种类纷繁复杂,这里每种只推荐两本左右,如果需要,建议知识类的书籍还是购买正版,尊重作者,也 ...
- 半导体公司IC设计环境概况
我现在的公司是家专门做半导体芯片设计的,算是一家不大不小的中型企业,这也就注定,里面的硬件环境无法和大型公司媲美,因为预算等各方面的原因,所以,里面所有的系统都是用Linux,服务器全部使用的是DEL ...
- 数字IC设计经典书籍
1 <Verilog HDL高级数字设计> 中文版和原著.这本书本人以为是讲Verilog方面的最好的一本书,看完此书后,相信大家的code水平会有很大提高.书中例子及其丰富,涵盖了RIS ...
- IC - 什么是数字IC设计?
什么是数字IC设计? 数字集成电路设计是一个程序化的过程,包括将规格和特性转换成数字块,然后再进一步转换成逻辑电路.与数字集成电路设计相关的许多限制来自铸造工艺和技术限制. 在数字集成电路设计的更高层 ...
- 2012年中国本土IC设计企业排名TOP10
为了近距离了解中国IC设计公司,特精心整合推出中国IC设计TOP10厂商发展现状及产业格局分析. TOP1展讯通信 展讯公司自成立以来,就一直立足于自主技术创新,采用独特的设计理念和方法,研制成功多款 ...
- 数字IC设计工程师笔试面试经典100题
1:什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系.同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来 ...
- Verilog十大基本功7 (IC设计经典书籍)
来自:https://blog.csdn.net/limanjihe/article/details/52674827 学习数字IC设计一段时间,总结一下自己学习期间遇到的比较好的书籍,希望能给大家一 ...
- Cadence IC设计环境搭建( IC617+MMSIM151+Calibre2015)
做IC版图设计,必不可少的环境搭建,是在Linux上进行开发,此类的安装教程网上比较少,自己也是跌跌撞撞,最终耗了一天的时间才装好呵呵呵~,期间主要参考了下面文章. 1. 知乎文章 2. 简书文章 3 ...
最新文章
- windows系统服务器数据库,windows系统的服务器肿么访问数据库
- HTML5 实现手机拍照上传
- linux系统管理常用命令
- js实现上传图片及时预览
- EMR Spark Runtime Filter性能优化
- python一行代码迷宫_通过Python代码实现走迷宫的方法
- 调整idea中控制台及右侧提示框字体大小
- cannot find mysql.frm_mysql 问题 - Run佳的个人空间 - OSCHINA - 中文开源技术交流社区...
- HDU1465 不容易系列之一【递推】
- .xyz文件_Orca.xyz:除了银行系统瑞士还有同样安全的数字保险箱
- Linux搭建Redis集群(搭建集群必看)
- Servlet 身份验证体系结构(源码)
- 基于python的词频分析
- 揭露SAP培训机构的套路
- GoJS学习-节点渐变背景色
- postman接口测试之断言+参数化
- MAC电脑突然开不了机的解决方案
- [文献翻译自用]运用本地差分隐私的基于物品的协同过滤
- Invalid format specifier的解决方法
- 使用Excel打造一款个人日志系统