发明名称 写串行化和资源复制相结合的多端口寄存器文件设计方法
摘要 本发明公开了一种写串行化和资源复制相结合的多端口寄存器文件设计方法,所要解决的技术问题是提供一种通用性强、硬件开销小、性能高、设计周期短的多端口寄存器文件的设计方法。技术方案是将寄存器文件设计成两部分,一部分是写串行部件,一部分是存储体与读端口部件。在写串行部件中采用写操作串行化的方法实现多个写端口;利用FPGA和ASIC设计中提供的静态RAM,在存储体与读端口部件中通过资源复制的方法实现多个读端口。本发明通用性强,降低了设计的复杂度,降低了设计实现需要的硬件,提高了性能。
申请公布号 CN1333356C 申请公布日期 2007.08.22
申请号 CN200410045081.3 申请日期 2004.07.23
申请人 中国人民解放军国防科学技术大学 发明人 李振涛;陈书明;马鹏勇;郭阳;万江华;胡春媚;马剑武;马驰远
分类号 G06F15/76(2006.01);G06F17/50(2006.01) 主分类号 G06F15/76(2006.01)
代理机构 湖南兆弘专利事务所 代理人 赵洪
主权项 1.一种写串行化和资源复制相结合的多端口寄存器文件设计方法,其特征在于将寄存器文件设计成两部分,一部分是写串行部件,一部分是存储体与读端口部件,在写串行部件中采用写操作串行化的方法实现多个写端口;利用FPGA和ASIC设计中提供的静态RAM,在存储体与读端口部件中通过资源复制的方法实现多个读端口,一个有m个读端口和n个写端口的多端口寄存器文件的具体设计方法是:1.1确定单端口寄存器文件的实现方法,在FPGA中,单端口寄存器文件由分布式RAM实现;在ASIC设计中,单端口寄存器文件用存储体编译器编译生成,单端口寄存器文件是具有一个读端口和一个写端口的寄存器文件,读端口包括读地址和读使能信号输入端、读数据输出端;写端口包括写数据、写地址、写使能信号输入端;1.2在写串行部件中采用写串行化法实现寄存器文件的n个写端口,写串行部件由n个锁存器组、一个模k计数器和一个多路选择器组成:1.2.1设置n组由系统的主时钟clk控制的锁存器组,一个锁存器组由数据锁存器、地址锁存器和使能信号锁存器组成,在系统时钟clk的上升或下降沿将n个写端口的数据、地址、写使能信号分别锁存到n组锁存器组,写端口的数据为a位,地址为b位,使能信号为1位,则一个锁存器组为(a+b+1)个锁存器;1.2.2设置一个由时钟clk_fast控制的模k计数器,k≥n,时钟clk_fast的频率为时钟clk的频率的k倍,在clk的上升沿之后,模k计数器的值为0,其后加1计数;1.2.3设置一个由模k计数器控制的多路选择器,多路选择器由3个n选1多路选择器组成,分别是写数据、写地址、写使能信号多路选择器;多路选择器的输入来自于n组锁存器,在模k计数器的控制下,在快速时钟clk_fast的每一拍,分别选择一个锁存器组,将其中的写数据、写地址及写使能信号送至存储体与读端口部件;令模k计数器的当前值为cur_count,当cur_count=i时,第i组锁存器的输出被选择;当cur_count=i+1时,第i+1组锁存器的输出被选择;依次类推,当cur_count=i+n-2时,第n-1组锁存器的输出被选择;当cur_count≥i+n-1时,第n组锁存器的输出被选择,其中i≥0且i≤k-n;1.3在存储体与读端口部件中采用资源复制法实现寄存器文件的m个读端口:存储体与读端口部件由m个单端口寄存器文件组成,m个单端口寄存器文件的写数据、写地址与写使能信号输入端都分别与写数据、写地址、写使能多路选择器的输出相连;在快速时钟clk_fast的控制下,每一拍将一个写端口的数据同时写入m个单端口寄存器文件,这样,n个写端口的数据就依次串行地同时写入到m个单端口寄存器文件中,由于m个单端口寄存器文件的写数据、写地址与写使能信号输入端的连接的信号都是一样的,因此它们存储的数据是一样的,保证了m个读端口访问到的数据一致;多端口寄存器文件的m个读端口与m个单端口寄存器文件一一对应,多端口寄存器文件的第i个读端口的地址和读使能信号分别连接到第i个单端口寄存器文件读地址和读使能输入端,第i个单端口寄存器文件读出的数据也就是第i个读端口读出的数据。
地址 410073湖南省长沙市砚瓦池正街47号国防科学技术大学计算机学院