The invention discloses a method for realizing the number of data at both ends of an asynchronous FIFO reading and writing system. The reading and writing pointers are converted from binary to gray code, and then from gray code to binary. After calculation, the number of data at both ends is obtained. The advantage of this design is that both the reader and the writer know how much data there is in the asynchronous FIFO. It is convenient to design different read-write strategies. It can also improve the frequency of the system by utilizing the advantage of Gray code across the clock domain.
【技术实现步骤摘要】
异步FIFO读写两端数据数量的实现方法
本专利技术涉及一种异步FIFO读写两端数据数量的实现方法,属于集成电路设计
技术介绍
在集成电路数字前端设计中,很多设计采用Synopsys公司的designware设计软件的异步FIFO有诸多不便,只有单一复位,不能暂停,没有源代码可以改进,不能知道FIFO中数据数量,只能设置全满almostfull和全空almostempty的参数,对于复杂场景下跨时钟域的设计力不从心,该设计克服了以上不便,为复杂设计带来更多传输策略。
技术实现思路
本专利技术的目的:在集成电路数字前端设计中,跨时钟域数据传输始终是个麻烦的问题,怎样高效安全把数据传输过去,异步FIFO是首选,但是面对不同场景下的designware,异步FIFO不能面面俱到。假设对面是DRAM,希望数据是连续的突发burst(这样效率高),如果知道异步FIFO中有多少数据,采用突发长度burstlenth是4、8或者16就能很好的做到高效设计;假设DRAM被高优先级通道占用,次优先级可以暂停;假设某一帧图像被抛弃了,FIFO中的数据也要被清洗,该设计可以局部复位 ...
【技术保护点】
1.一种异步FIFO读写两端数据数量的实现方法,其特征在于,包括以下步骤:1)每写入一个数据进RAM单元,写指针加1,同时把写指针由二进制转换成格雷码,形成写格雷码指针;2)从 RAM单元每读出一个数据,读指针加1,同时把读指针由二进制转换成格雷码,形成读格雷码指针;3)写格雷码指针、读格雷码指针均打2拍后与相对应的读格雷码指针、写格雷码指针进行比较得出RAM单元的空满标志;4)再把读格雷码指针与写格雷码指针分别转化成读格雷码指针二进制值、写格雷码指针二进制值,并保存进入对方的时钟域,两个时钟域中的读格雷码指针二进制值、写格雷码指针二进制值进行计算得出写入侧的数据数量和读出侧的数据数量。
【技术特征摘要】
1.一种异步FIFO读写两端数据数量的实现方法,其特征在于,包括以下步骤:1)每写入一个数据进RAM单元,写指针加1,同时把写指针由二进制转换成格雷码,形成写格雷码指针;2)从RAM单元每读出一个数据,读指针加1,同时把读指针由二进制转换成格雷码,形成读格雷码指针;3)写格雷码指针、读格雷码指针均打2拍后与相对应的读格雷码指针、写格雷码指针进行比较得出RAM单元的空满标志;4)再把读格雷码指针与写格雷码指针分别转化成读格雷码指针二进制值、写格雷码指针二进制值,并保存进入对方的时钟域,两个时钟域中的读格雷码指针二进制值、写格雷码指针二进制值进行计算得出写入侧的数据数量和读出侧的数据数量。2.根据权利要求1所述的异步FIFO读写两端数据数量的实现方法,其特征在于,步骤3)中,当读出侧读格雷码指针的高两位取反和低位拼接后等于写入侧写格雷码指针时,则置RAM为满标志。3.根据权利要求1所述的异步FIFO读写两端数据数量的实现方法,其特征在于,步骤3)中,当写入侧的写格雷码指针等于读出侧的读格雷码指针时,则置RAM为空标志。4.根据权利要求1所述的异步FIFO读写两...
【专利技术属性】
技术研发人员:孙后所,李成,郭小清,黄晓林,俞坤治,
申请(专利权)人:南京芯视界微电子科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。