超细粒度门控时钟的FIFO数据存储方法及装置制造方法及图纸

技术编号:8078745 阅读:271 留言:0更新日期:2012-12-13 21:26
本发明专利技术公开了一种超细粒度门控时钟的FIFO数据存储方法及装置,方法步骤如下:1)通过多个具有多位寄存器的寄存器位组呈阵列状布置构建数据队列电路;2)在每一个时钟周期判断每一个寄存器位组的内容在下一个时钟周期是否保持不变,如果寄存器位组的内容在下一个时钟周期保持不变则切断所述寄存器位组的输入时钟;如果寄存器位组的内容在下一个时钟周期需要更新则保持所述寄存器位组的输入时钟;装置包括数据输入单元、数据队列电路、门控时钟单元和数据输出单元,数据队列电路由多个具有多位寄存器的寄存器位组呈阵列状布置构成。本发明专利技术具有门控粒度细、门控时钟负载低、门电路速度快、功耗低的优点。

【技术实现步骤摘要】

本专利技术涉及集成电路芯片设计领域,具体涉及ー种体系结构级和电路级低功耗的超细粒度门控时钟的FIFO数据存储方法及装置
技术介绍
FIFOCFirst In and First Out,先进先出)数据队列是集成电路芯片中广泛使用电路结构,用于缓存数据以及控制数据访问的顺序,它的构建有两种方式基于SRAM构建和基于寄存器构建,前者面积小但是速度慢,后者面积大但是速度快。在高速芯片设计过程中,为了降低访问FIFO数据队列的延迟,满足芯片的设计频率要求,FIFO数据队列必须采用寄存器构建,因此如何降低FIFO数据队列功耗成为了高速芯片低功耗设计中的重要问题之一。门控时钟是指一个时钟信号与另外ー个非时钟信号作逻辑输出 的时钟。门控时钟技木通过关闭芯片上不工作电路的时钟以实现节省电路功耗的目的。在门控时钟技术中,驱动时钟的逻辑仅包含ー个“与”门或ー个“或”门,如果采用任何附加逻辑会导致在某些工作状态下出现竞争、产生毛刺。门控时钟通过一个使能信号控制时钟的开关。当电路不工作时可以关闭时钟,整个系统处于非激活状态,这样就能够在某种程度上降低电路功耗。传统的FIFO数据队列低功耗设计技术主要面向基于SRAM构建的FIFO数据队列,功耗控制技术包括读写指针采用格雷码编码、SRAM采用低功耗SRAM、SRAM的读写使能采用门控时钟、SRAM中的存储单元使用位线隔离、门控电压等技术。对于高性能芯片来说,某些关键部件如交叉开关的缓存队列等,具有规模不大、但是对访问速度要求高的特点。在这些场合,SRAM的访问速度已经不能满足要求,必须采用速度更快的寄存器搭建FIFO数据队列。专
技术实现思路
本专利技术要解决的技术问题是提供一种门控粒度细、门控时钟负载低、门电路速度快、功耗低的超细粒度门控时钟的FIFO数据存储方法及装置。为了解决上述技术问题,本专利技术采用的技术方案为 一种超细粒度门控时钟的FIFO数据存储方法,其实施步骤如下 1)通过多个具有多位寄存器的寄存器位组呈阵列状布置构建数据队列电路,所述寄存器位组沿着所述数据队列电路的宽度方向形成寄存器项,所述寄存器位组沿着所述数据队列电路的深度方向形成位组阵列,在输入数据时将FIFO输入数据按照所述寄存器位组的位宽分割成位数相等的多个部分并输入各个位组阵列,在输出数据时读取所述位组阵列末端的寄存器位组的输出数据; 2)在每ー个时钟周期判断每ー个寄存器位组的内容在下一个时钟周期是否保持不变,如果寄存器位组的内容在下一个时钟周期保持不变则切断所述寄存器位组的输入时钟;如果寄存器位组的内容在下一个时钟周期需要更新则保持所述寄存器位组的输入时钟。作为本专利技术超细粒度门控时钟的FIFO数据存储方法的进ー步改进所述步骤2)中判断每ー个寄存器位组的内容在下一个时钟周期是否保持不变的详细步骤如下 2.I)为姆ー个寄存器位组标记数据有效状态; 2.2)获取数据队列电路的写使能命令和读使能命令; 2.3)根据所述写使能命令、读使能命令、寄存器位组在当前时钟周期的数据有效状态以及所述位组阵列中相邻寄存器位组在当前时钟周期的数据有效状态维护每ー个所述寄存器位组在下一个时钟周期的数据有效状态; 2.4)根据所述写使能命令、读使能命令、寄存器位组在当前时钟周期的数据有效状态以及所述位组阵列中相邻寄存器位组在当前时钟周期的数据有效状态判断每ー个所述寄存器位组在下一个时钟周期是否需要被选择;根据所述读使能命令以及所述位组阵列中的 下一个寄存器位组对应的数据有效状态判断每ー个寄存器位组在下一个时钟周期是否需要被移位;如果任意一个寄存器位组在下一个时钟周期需要被选择或者被移位,则判断所述寄存器位组的内容在下一个时钟周期需要更新;如果任意一个寄存器位组在下一个时钟周期既不需要被选择也不需要被移位,则判断寄存器位组的当前内容在下一个时钟周期保持不变。所述步骤2. 3)中根据式(Al)和式(A2)维护每一个寄存器位组在下一个时钟周期的数据有效状态; v0_din = ( V O _ d ο u t & wr_en) | 、v0_dout & w r _e n & r d _ e n ) | (v0_dout & w r _ e n ) | (vl_dout & w r _ e n )(Al) Vi_din = (v (i~l) _dout & wr_en & rd_en) | (vi_dout & wr_e n & rd_en) | (v i_dout & rd_en) | (v(i + 1)_dout & rd_en)(A2) 式(Al)和式(A2)中,vi_din为位组阵列中第i个寄存器位组在下一个时钟周期的数据有效状态厂为取反运算符,&为与运算符,I为或运算符,rd_en为读使能命令、wr_en为写使能命令,vi_dout为位组阵列中第i个寄存器位组在当前时钟周期的数据有效状态,i为寄存器项的编号且i e ,N为寄存器项的数目。所述步骤2. 4)根据式(A3)和式(A4)判断每ー个寄存器位组在下一个时钟周期是否需要被选择; se I =wr_en & (( vl_dout & v0_dout & rd_en) | v0_dout);(A3) sel =wr_en & (、 v(i + l)_dout & v i _ d o u t & r d _e n ) I ( vi_dout & v(i_l)_dout & rd_en));(A4) 式(A3)和式(A4)中,sel为位组阵列中第i个寄存器位组在下一个时钟周期的被选择状态厂为取反运算符,&为与运算符,I为或运算符,rd_en为读使能命令、wr_en为写使能命令,vi_dout为位组阵列中第i个寄存器位组在当前时钟周期的数据有效状态; 所述步骤2. 4)中判断寄存器位组在下一个时钟周期是否需要被移位是指根据式(A5) shift=v(i + l)_dout & rd_en(A5) 判断每ー个寄存器位组在下一个时钟周期是否需要被移位;式(A5)中,shift为位组阵列中第i个寄存器位组在下一个时钟周期的被移位状态,&为与运算符,rd_en为读使能命令、v(i+l)_doUt为位组阵列中第i+Ι个寄存器位组在当前时钟周期的数据有效状态; 式(A4)中,i为寄存器项的编号且i e ,《(A5)中,i为寄存器项的编号且i e ,N为寄存器项的数目。本专利技术还提供一种超细粒度门控时钟的FIFO数据存储装置,包括数据输入単元、数据队列电路、门控时钟单元和数据输出単元,所述数据队列电路由多个具有多位寄存器的寄存器位组呈阵列状布置构成,所述寄存器位组沿着所述数据队列电路的宽度方向形成寄存器项,所述寄存器位组沿着所述数据队列电路的深度方向形成位组阵列,所述数据输入単元分别与各个寄存器位组的输入端相连,所述门控时钟单元分别与各个寄存器位组的时钟输入端相连,所述位组阵列尾部的寄存器位组的输出端与所述数据输 出单元相连,每ー个所述位组阵列还包括一个用于判断每ー个寄存本文档来自技高网
...

【技术保护点】
一种超细粒度门控时钟的FIFO数据存储方法,其特征在于其实施步骤如下:1)通过多个具有多位寄存器的寄存器位组呈阵列状布置构建数据队列电路,所述寄存器位组沿着所述数据队列电路的宽度方向形成寄存器项,所述寄存器位组沿着所述数据队列电路的深度方向形成位组阵列,在输入数据时将FIFO输入数据按照所述寄存器位组的位宽分割成位数相等的多个部分并输入各个位组阵列,在输出数据时读取所述位组阵列末端的寄存器位组的输出数据;2)在每一个时钟周期判断每一个寄存器位组的内容在下一个时钟周期是否保持不变,如果寄存器位组的内容在下一个时钟周期保持不变则切断所述寄存器位组的输入时钟;如果寄存器位组的内容在下一个时钟周期需要更新则保持所述寄存器位组的输入时钟。

【技术特征摘要】

【专利技术属性】
技术研发人员:周宏伟邓让钰李永进晏小波衣晓飞张英窦强曾坤谢伦国王永文马卓
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1