(19)中华人民共和国国家知识产权局
(12)发明专利说明书 | ||
(10)申请公布号 CN 1851824 A (43)申请公布日 2006.10.25 | ||
(21)申请号 CN200610031667.3
(22)申请日 2006.05.17
(71)申请人 中国人民解放军国防科学技术大学
地址 410073 湖南省长沙市砚瓦池正街47号
(72)发明人 邓让钰 戴泽福 张明 陈海燕 马驰远 周宏伟 邢座程 蒋江 冀蓉 谈民 彭元喜 穆长富 衣晓飞
(74)专利代理机构 国防科技大学专利服务中心
代理人 郭敏
(51)Int.CI
G11C11/413
G11C8/00
G06F13/16
权利要求说明书 说明书 幅图 |
(54)发明名称
高速流水线中长延时多端口SRAM的快速访问方法 | |
(57)摘要
本发明公开了一种高速流水线中长延时多端口SRAM的快速访问方法,要解决的技术问题是提供一种对多端口SRAM的快速访问方法,提高数据的访问效率,提升流水线的总体性能。技术方案是设计一套时钟产生电路、SRAM端口选择器、SRAM存储体和出口寄存器组四个部分组成的多端口SRAM访问控制逻辑,采用这个访问控制逻辑对多端口SRAM进行访问。采用本发明可使SRAM访问流水化,有效降低数据访问延迟,提高存储带宽。 | |
法律状态
法律状态公告日 | 法律状态信息 | 法律状态 |
权 利 要 求 说 明 书
1.一种高速流水线中长延时多端口SRAM的快速访问方法,方法是设计一套访问控制逻辑,采用这个访问控制逻辑对SRAM进行访问,其特征在于所述访问控制逻辑是多端口SRAM访问控制逻辑,它由时钟产生电路、SRAM端口选择器、SRAM存储体和出口寄存器组四个部分组成;假设n为SRAM端口个数,这四个部分的设计方法分别是:
1.1时钟产生电路的设计方法是:它由一个或多个锁相环组成,以系统时钟clk_S作为输入,输出n个周期为n*T<sub>clk_S</sub>的同频时钟信号,这n个时钟信号的相位依次相差一个系统时钟周期时间T<sub>clk_S</sub>;
1.2SRAM端口选择器的设计方法是:它由空闲端口判断逻辑和n级输出数据有效信号站组成;
每一级输出数据有效信号站由n个寄存器组成,分别对应于SRAM存储体的n个端口,用于表示该端口数据是否有效;在系统时钟CLK_S的每个上升沿,空闲端口判断逻辑对SRAM各端口时钟信号进行采样,根据采样到的时钟状态获得空闲端口号i;如果是写请求,空闲端口判断逻辑置空闲端口号i的写使能信号Writei,SRAM存储体的工作端口i在写使能信号Writei的驱动下,将请求数据Data写入SRAM存储体中;如果是读请求,空闲端口判断逻辑生成对应的输出数据有效信号DValidi<sub>1</sub>,写入输出有效信号站的第1站,经过一个系统时钟周期之后,输出数据有效信号从第一站传入到第二站即DValidi<sub>2</sub>为1,依次传递,n个系统时钟周期后,该输出有效信号到达SRAM端口选择器的出口即DValidi<sub>n</sub>为1,此时,由于SRAM端口的时钟周期为n*T<sub>clk_S</sub>,对应的空闲SRAM端口i在一个端口时钟周期即n个系统时钟周期后,将输出数据采样到输出端口i中寄存,与数据有效信号DValidi<sub>n</sub>一起送到出口寄存器组;i为端口号,且1≤i≤n;
1.3SRAM存储体与传统方法中的SRAM存储体逻辑结构基本相同,只是拥有更多的访问端口;
1.4出口寄存器组的设计方法是:它由输出寄存器Reg_out、输出数据暂存队列tmp_fifo、Fifo控制逻辑和两个多路选择器第一MUX和第二MUX构成;
1.5采用多端口SRAM访问控制逻辑对SRAM进行访问的过程是:
1.5.1时钟产生电路以CLK_S作为输入,输出n个时钟信号,各个端口在对应的CLKi驱动下工作,除SRAM存储体外其他部分的逻辑统一由CLR_S驱动;
1.5.2外部请求Rqt_Valid有效时,SRAM端口选择器将外部读写请求转化为SRAM的读写操作信号,根据空闲端口判断逻辑获取可用的空闲端口,如果是写请求,置SRAM的i号端口的写使能信号Writei;如果是读请求,置相应空闲端口的输出有效信号Dvalidi<sub>1</sub>,写入输出有效信号站的第1站,经过一个系统时钟周期之后,输出数据有效信号从第一站传入到第二站即DValidi<sub>2</sub>为1,依次传递,n个系统时钟周期后,该输出有效信号到达SRAM端口选择器的出口即DValidi<sub>n</sub>为1;
1.5.3SRAM存储体的工作端口i对输入控制信号进行判断,当Writei有效时,将请求数据Data写入存储体中;当Writei无效时,将与请求地址对应的数据读出,在一个端口时钟周期即n个
系统时钟周期后,输出数据被采样到输出端口i中寄存,此时对应的数据有效信号DValidi<sub>n</sub>也正好到达SRAM端口选择器的出口,与输出数据一起送到出口寄存器组;其中,1≤i≤n;
1.5.4出口寄存器组以SRAM存储体n个端口数据作为数据输入,以SRAM端口选择器输出的有效信号Dvalid1<sub>n</sub>,Dvalid2<sub>n</sub>...Dvalidn<sub>n</sub>和流水线暂停信号stall作为控制输入,将SRAM存储体输出的有效数据寄存在暂存队列Tmp_fifo或出口寄存器Reg_out中,然后顺序提交给外部访问者。
2.如权利要求1所述的一种高速流水线中长延时多端口SRAM的快速访问方法,其特征在于所述第一MUX以SRAM存储体的n个输出端口数据作为数据输入,以SRAM端口选择器的n个输出有效信号Dvalid1<sub>n</sub>,Dvalid2<sub>n</sub>...Dvalidn<sub>n</sub>为控制输入,选择有效的端口数据送到Tmp_fifo的输入端;输出数据暂存队列tmp_fifo有n-1项,它以第一MUX选择的有效端口数据做为数据输入,以SRAM端口选择器的输出有效信号Dvalid1<sub>n</sub>,Dvalid2<sub>n</sub>...Dvalidn<sub>n</sub>为控制输入;Fifo控制逻辑负责产生Tmp_fifo的写使能信号WrEn和读使能信号RdEn以及队列的空状态信号Fifo_
Empty,并使用内部计数器cnt对Tmp_fifo的有效数据个数进行计数;第二MUX以Tmp_fifo输出数据及SRAM的n个输出端口数据作为数据输入,以SRAM端口选择器的输出有效信号Dvalid1<sub>n</sub>,Dvalid2<sub>n</sub>...Dvalidn<sub>n</sub>和Tmp_fifo空状态信号Fifo_Empty为控制输入,选择有效数据送到输出寄存器Reg_out;Reg_out位宽与每次访问的数据位宽相同,也与每个SRAM访问数据位宽相同。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论