发明名称 超细粒度门控时钟的FIFO数据存储方法及装置
摘要 本发明公开了一种超细粒度门控时钟的FIFO数据存储方法及装置,方法步骤如下:1)通过多个具有多位寄存器的寄存器位组呈阵列状布置构建数据队列电路;2)在每一个时钟周期判断每一个寄存器位组的内容在下一个时钟周期是否保持不变,如果寄存器位组的内容在下一个时钟周期保持不变则切断所述寄存器位组的输入时钟;如果寄存器位组的内容在下一个时钟周期需要更新则保持所述寄存器位组的输入时钟;装置包括数据输入单元、数据队列电路、门控时钟单元和数据输出单元,数据队列电路由多个具有多位寄存器的寄存器位组呈阵列状布置构成。本发明具有门控粒度细、门控时钟负载低、门电路速度快、功耗低的优点。
申请公布号 CN102819418B 申请公布日期 2015.01.07
申请号 CN201210267344.X 申请日期 2012.07.31
申请人 中国人民解放军国防科学技术大学 发明人 周宏伟;邓让钰;李永进;晏小波;衣晓飞;张英;窦强;曾坤;谢伦国;王永文;马卓
分类号 G06F5/06(2006.01)I 主分类号 G06F5/06(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 赵洪;谭武艺
主权项 一种超细粒度门控时钟的FIFO数据存储方法,其特征在于其实施步骤如下:1)通过多个具有多位寄存器的寄存器位组呈阵列状布置构建数据队列电路,所述寄存器位组沿着所述数据队列电路的宽度方向形成寄存器项,所述寄存器位组沿着所述数据队列电路的深度方向形成位组阵列,在输入数据时将FIFO输入数据按照所述寄存器位组的位宽分割成位数相等的多个部分并输入各个位组阵列,在输出数据时读取所述位组阵列末端的寄存器位组的输出数据;2)在每一个时钟周期判断每一个寄存器位组的内容在下一个时钟周期是否保持不变,如果寄存器位组的内容在下一个时钟周期保持不变则切断所述寄存器位组的输入时钟;如果寄存器位组的内容在下一个时钟周期需要更新则保持所述寄存器位组的输入时钟;所述步骤2)中判断每一个寄存器位组的内容在下一个时钟周期是否保持不变的详细步骤如下:2.1)为每一个寄存器位组标记数据有效状态;2.2)获取数据队列电路的写使能命令和读使能命令;2.3)根据所述写使能命令、读使能命令、寄存器位组在当前时钟周期的数据有效状态以及所述位组阵列中相邻寄存器位组在当前时钟周期的数据有效状态维护每一个所述寄存器位组在下一个时钟周期的数据有效状态;2.4)根据所述写使能命令、读使能命令、寄存器位组在当前时钟周期的数据有效状态以及所述位组阵列中相邻寄存器位组在当前时钟周期的数据有效状态判断每一个所述寄存器位组在下一个时钟周期是否需要被选择;根据所述读使能命令以及所述位组阵列中的下一个寄存器位组对应的数据有效状态判断每一个寄存器位组在下一个时钟周期是否需要被移位;如果任意一个寄存器位组在下一个时钟周期需要被选择或者被移位,则判断所述寄存器位组的内容在下一个时钟周期需要更新;如果任意一个寄存器位组在下一个时钟周期既不需要被选择也不需要被移位,则判断寄存器位组的当前内容在下一个时钟周期保持不变。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院