字符串长度过长
(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小时内删除。