CN101923524A - 一种基于clb总线的存储器接口方法 - Google Patents
一种基于clb总线的存储器接口方法 Download PDFInfo
- Publication number
- CN101923524A CN101923524A CN 201010244742 CN201010244742A CN101923524A CN 101923524 A CN101923524 A CN 101923524A CN 201010244742 CN201010244742 CN 201010244742 CN 201010244742 A CN201010244742 A CN 201010244742A CN 101923524 A CN101923524 A CN 101923524A
- Authority
- CN
- China
- Prior art keywords
- clock
- bus
- memory
- data
- storer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
一种基于CLB总线的存储器接口方法,包括:在总线时钟的上升沿,处理器发送读或写操作请求,总线并锁存来自处理器的地址信号、控制信号获得第一锁存信号,且产生存储器使能信号;在所述总线时钟的上升沿后相邻的下降沿存储器根据所述存储器使能信号产生存储器时钟,该存储器时钟的下降沿与所述总线时钟的下降沿同步;在所述存储器时钟的下降沿后,当读操作时,输出的数据到达存储器的数据输出端,经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达处理器的数据输入端;当写操作时,写数据到达处理器的数据输出端,经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达存储器的数据输入端。本发明在实现对存储器的高速读或写操作同时,有效减少了等待周期的个数,提高了时钟利用率。
Description
技术领域
本发明涉及一种基于CLB总线的存储器接口方法。
背景技术
在嵌入式芯片设计中,存储器通常会挂接在系统总线上作为数据或者变量的存储空间。从应用形态上来说,主设备,总线,存储器接口和存储器可以同时都在一个芯片上,也可以一个或者几个设备在同一块芯片上另外一个或几个设备在FPGA上,同时由于各个制造工艺存在差别,这就造成了存储器需要有比较灵活的接口连接在系统总线上。随着技术的不断发展,对存储器的读写从速度上要求越来越高,所以特别是对于高速存储器的读写要求更为严格。
对于苏州国芯科技有限公司C*CORE系列32位微处理器总线(CLB总线),其对存储器的接口技术都采用下降沿模式。其操作时序图如图1所示。当总线的运行时钟和存储器时钟相同或低于存储器时钟时,则此种接口模式CPU对存储器的读和写都能在一个时钟周期内完成。如图1所示,mclk是总线时钟信号,memclk是存储器的时钟信号,存储器均是上升沿触发,所以CLB总线时钟(mclk)的下降沿作为存储器有效时钟沿。
图1中信号DO和DI分别为存储器的数据输出端和数据输入端,信号p_data_out和p_data_in分别为CPU的数据输出端和数据输入端。信号A为CPU对存储器进行读写的地址信号。
当CPU对存储器进行读操作时,在T0时刻,即总线时钟的第一个上升沿,判断存在有读操作要求rd1,则锁存地址和p_rw_b等传输性信号,并产生控制信号,然后把控制信号和锁存地址一并传递给存储器。在T01时刻,即总线时钟的下降沿,输出数据很快到达存储器的数据输出端DO,经过一段时间的线路延迟,在下个总线时钟上升沿(T1)到来之前到达CPU的数据输入端p_data_in。其数据传输时间如图1中R1所示。
同理,当CPU对存储器进行写操作时,在T1时刻,即总线时钟的第二个上升沿,判断存在有写操作要求wt2,被写数据从CPU的输出端口p_data_out准备好后,经过一段时间的线路延迟,在下一个总线时钟下降沿T02时刻到来之前到达存储器的数据输入端口DI,并满足存储器对数据建立时间的要求。其数据传输时间如图1中W1所示。
当总线的运行时钟远远高于存储器时钟时,就会没有足够的时间读取数据从存储器到CPU或者没有足够的时间写数据从CPU到存储器,所以CPU对存储器的读或者写操作不可能在一个操作周期内完成。
图2所示即是总线时钟高速读存储器时序图。在高速状态下,即总线时钟高于存储器时钟时,在T01时刻,输出数据到达存储器的输出端口DO,并经过线路延迟到达CPU的数据输入端p_data_in时,不可能在下一个时钟上升沿T1之前。如图2中所示,数据到达CPU端口时,已在时钟上升沿T1之后,所以不可能在R1时间段内完成数据的读取数据传输。对于写操作,亦是如此。
为了完成高速总线时钟对存储器的读写,现有技术通常的做法是,在两次读(写)操作之间插入一个等待周期。具体操作时序图如图3所示。图3为下降沿触发的高速存储器接口时序图。读操作rd1和写操作wt2均未能在一个时钟周期内完成。T1~T2为执行读操作rd1时插入的等待周期;T3~T4为执行写操作时插入的等待周期。图3中所示的下降沿触发的高速存储器接口方式虽然实现的高速读写,满足了高频率的要求,但是它每一次对存储器的读(写)操作都要占用两个时钟周期,这在实际上并没有提高多少工作效率。
当CPU对存储器进行高速读写操作时,频率一般都能达到上百兆赫兹甚至更高。速度的提高往往要求工作效率随之提高,CPU对存储器的读写操作往往是频繁更换的,因此如何既可以满足高频率,又可以提高工作效率,减少等待周期个数,成为本领域技术人员努力的方向。
发明内容
本发明目的是提供一种基于CLB总线的存储器接口方法,该存储器接口方法在实现对存储器的高速读或写操作同时,有效减少了等待周期的个数,提高了时钟利用率。
为达到上述目的,本发明采用的技术方案是:
一种基于CLB总线的存储器接口方法,包括:
在总线时钟的上升沿,处理器发送读或写操作请求,总线并锁存来自处理器的地址信号、控制信号获得第一锁存信号,且产生存储器使能信号;同时将该地址信号和控制信号传输给存储器的输入端;
在所述总线时钟的上升沿后相邻的下降沿再次锁存地址和控制信号获得第二锁存信号,此时存储器根据所述存储器使能信号产生存储器时钟,该存储器时钟的下降沿与所述总线时钟的下降沿同步;同时存储器接收来自总线第一锁存信号或第二锁存信号;
在所述存储器时钟的下降沿后,当读操作时,输出的数据到达存储器的数据输出端,经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达处理器的数据输入端;当写操作时,写数据到达处理器的数据输出端,经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达存储器的数据输入端。
上述技术方案中的有关内容解释如下:
上述方案中,所述第一锁存信号和第二锁存信号的锁存时间为一个时钟周期。
由于上述技术方案运用,本发明与现有技术相比具有下列优点和效果:
本发明对读写控制信号无条件锁存两次,延长锁存时间,有效保证读写时的灵活采样。在实现对存储器的高速读写时有效减少了等待周期的个数,提高时钟利用率。
附图说明
附图1为现有基于CLB时钟下降沿触发的低速存储器接口操作时序图;
附图2为现有总线时钟高速读存储器操作时序图;
附图3为现有基于CLB时钟下降沿触发的高速存储器接口操作时序图;
附图4为本发明基于CLB时钟上升沿触发的高速存储器接口操作时序图;
附图5为本发明上升沿触发状态机示意图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例:一种基于CLB总线的存储器接口方法,
包括:在总线时钟m_clk的上升沿,处理器发送读或写操作请求,总线并锁存来自处理器的地址信号、控制信号获得第一锁存信号,且产生存储器使能信号;同时将该地址信号和控制信号传输给存储器的输入端;
在所述总线时钟的上升沿后相邻的下降沿再次锁存地址和控制信号获得第二锁存信号,此时存储器根据所述存储器使能信号产生存储器时钟mem_clk,该存储器时钟mem_clk的下降沿与所述总线时钟m_clk的下降沿同步;同时存储器接收来自总线第一锁存信号或第二锁存信号;
在所述存储器时钟mem_clk的下降沿后,当读操作时,输出的数据到达存储器的数据输出端DO,经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达处理器的数据输入端p_data_in;当写操作时,写数据到达处理器的数据输出端p_data_out,经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达存储器的数据输入端DI。
所述第一锁存信号和第二锁存信号的锁存时间为一个时钟周期。
本实施例上述内容具体解释如下。
附图中DO和DI分别为存储器的数据输出端和数据输入端,信号p_data_out和p_data_in分别为CPU的数据输出端和数据输入端。信号A为CPU对存储器进行读写的地址信号。
图4表示了上升沿触发的操作时序图。CLB总线时钟(mclk)的上升沿作为存储器的有效时钟沿。除了写操作后执行读操作时插入一个等待周期外,其它的读写操作均在一个时钟周期内完成。
为了实现对存储器的读写功能,本设计中对地址p_addr和p_rw_b等控制信号进行两次锁存。如图4中第一次锁存fopped,第二次锁存flopped_f所示,第一次锁存flopped在总线时钟上升沿,第二次所存flopped_f在随后的总线时钟下降沿。读写操作时采用flopped或者flopped_f根据所执行的具体操作而定。
图4表示的是读-写-写-读-读操作示意图。图中所示的FSM信号为一状态机表示读写操作。IDEL/READ表示空操作状态或者读操作;READ表示读操作;FSTWT表示FIRST WRITE,读操作后的写操作;WRITE表示写操作;RAFTW表示READ AFTER WRITE,即写操作后读操作。
CPU在T0~T1时钟周期执行的第一个读操作rd1。首先,假定它的前一个操作是读操作或者空操作,IDEL/READ。在T0时刻,总线接收到读操作请求,并锁存地址和控制信号,产生存储器使能信号CE等。如图4中箭头指向所示,读操作rd1采用第一次锁存flopped_rd1的控制信号,存储器时钟信号mem_clk由CE控制产生。存储器时钟mem_clk上升沿后,输出数据DO1很快到达存储器输出端,经过线路延迟后,在下个时钟上升沿T1之前到达CPU的数据输入端p_data_in1,读操作完成。图4中R1所示,即是第一次读操作READ占用时间。
读操作后的写操作也会在一个时钟周期内完成,称其为FSTWT,FIRSTWRITE。图4中写操作wt2所示。在T1时刻,总线接收到写操作请求,并锁存地址和控制信号,wt2采用第二次锁存flopped_f_wt2的控制信号,所以在此次写操作的前半个时钟周期,控制信号强制为高,且地址可以是任何数据,不记为所写地址。被写数据p_data_out2从CPU端口输出,经过线路延迟,在下个总线时钟上升沿T2之前,数据到达存储器数据输入端口DI2并稳定后,存储器第二个时钟上升沿开始进行写操作。如图4中W2所示,即是第一次写操作FSTWT占用时间。
接下来的第二个写操作,称之为WRITE。同样在T2时刻,第一次锁存地址和控制信号,并在随后时钟下降沿再次锁存地址和控制信号,wt3操作采用第二次锁存flopped_f_wt3的控制信号。被写数据p_data_out3从CPU端口输出,经过线路延迟,在下个时钟上升沿T3之前,数据到达存储器数据输入端口DI3并稳定后,存储器的第三个时钟上升沿开始进行写操作。如图4中W3所示,即写操作WRITE占用时间。
当写操作完后执行第一个读操作时,称这个状态为RAFTW,READ AFTER WRITE。如图4所示,在T3~T4这个周期,插入了一个等待周期WAIT。
在T3时刻,总线接收到读操作请求rd4,并在T3时刻和随后的时钟下降沿两次锁存地址和控制信号。读操作rd4,采用的是第二次锁存flopped_f_rd4的地址和控制信号。由于在T3时刻,即存储器的第三个时钟上升沿存储器正在执行第二个写操作,所以此时插入等待周期WAIT。在下个总线时钟上升沿T4时刻产生mem_clk触发沿,开始执行第四次写操作rd4。输出数据DO4到达存储器数据输出端,并经过线路延迟,在下个时钟上升沿T5时刻前到达CPU数据输入端口p_data_in4,读操作完成。如图4中R4所示,为读操作rd4占用时间。
执行读操作rd5时,类似于读操作rd1,如图4中R5所示。图5表示的是上升沿触发时状态转换示意图。从图中可以看出,写操作完后执行读操作时需要插入一个等待周期。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种基于CLB总线的存储器接口方法,其特征在于:包括:
在总线时钟(m_clk)的上升沿,处理器发送读或写操作请求,总线并锁存来自处理器的地址信号、控制信号获得第一锁存信号,且产生存储器使能信号;同时将该地址信号和控制信号传输给存储器的输入端;
在所述总线时钟的上升沿后相邻的下降沿再次锁存地址和控制信号获得第二锁存信号,此时存储器根据所述存储器使能信号产生存储器时钟(mem_clk),该存储器时钟(mem_clk)的下降沿与所述总线时钟(m_clk)的下降沿同步;同时存储器接收来自总线第一锁存信号或第二锁存信号;
在所述存储器时钟(mem_clk)的下降沿后,当读操作时,输出的数据到达存储器的数据输出端(DO),经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达处理器的数据输入端(p_data_in);当写操作时,写数据到达处理器的数据输出端(p_data_out),经线路延时,并在所述总线时钟的上升沿后相邻的上升沿之前到达存储器的数据输入端(DI)。
2.根据权利要求1所述的存储器接口方法,其特征在于:所述第一锁存信号和第二锁存信号的锁存时间为一个时钟周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010244742 CN101923524B (zh) | 2010-08-04 | 2010-08-04 | 一种基于clb总线的存储器接口方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010244742 CN101923524B (zh) | 2010-08-04 | 2010-08-04 | 一种基于clb总线的存储器接口方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101923524A true CN101923524A (zh) | 2010-12-22 |
CN101923524B CN101923524B (zh) | 2012-08-22 |
Family
ID=43338471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010244742 Active CN101923524B (zh) | 2010-08-04 | 2010-08-04 | 一种基于clb总线的存储器接口方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101923524B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360876A (zh) * | 2014-10-22 | 2015-02-18 | 深圳市国微电子有限公司 | 一种基于sopc的boot启动与fpga配置方法及装置 |
CN110612518A (zh) * | 2017-07-18 | 2019-12-24 | 美光科技公司 | 高频域的数据输出 |
CN111813726A (zh) * | 2020-07-10 | 2020-10-23 | 中科芯集成电路有限公司 | 控制信号从高速总线向低速总线的转换方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1295685A (zh) * | 1998-06-17 | 2001-05-16 | 诺基亚网络有限公司 | 连接以不同时钟速度速率工作的设备的接口装置,和操作该接口的方法 |
US20020039324A1 (en) * | 2000-09-05 | 2002-04-04 | Lee Dong-Yang | Semiconductor memory device having altered clock freqency for address and/or command signals, and memory module and system having the same |
US6807613B1 (en) * | 2000-08-21 | 2004-10-19 | Mircon Technology, Inc. | Synchronized write data on a high speed memory bus |
CN101479802A (zh) * | 2006-06-30 | 2009-07-08 | 莫塞德技术公司 | 同步存储器读取数据捕获 |
-
2010
- 2010-08-04 CN CN 201010244742 patent/CN101923524B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1295685A (zh) * | 1998-06-17 | 2001-05-16 | 诺基亚网络有限公司 | 连接以不同时钟速度速率工作的设备的接口装置,和操作该接口的方法 |
US6807613B1 (en) * | 2000-08-21 | 2004-10-19 | Mircon Technology, Inc. | Synchronized write data on a high speed memory bus |
US20020039324A1 (en) * | 2000-09-05 | 2002-04-04 | Lee Dong-Yang | Semiconductor memory device having altered clock freqency for address and/or command signals, and memory module and system having the same |
CN101479802A (zh) * | 2006-06-30 | 2009-07-08 | 莫塞德技术公司 | 同步存储器读取数据捕获 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360876A (zh) * | 2014-10-22 | 2015-02-18 | 深圳市国微电子有限公司 | 一种基于sopc的boot启动与fpga配置方法及装置 |
CN104360876B (zh) * | 2014-10-22 | 2017-10-31 | 深圳市国微电子有限公司 | 一种基于sopc的boot启动与fpga配置方法及装置 |
CN110612518A (zh) * | 2017-07-18 | 2019-12-24 | 美光科技公司 | 高频域的数据输出 |
CN110612518B (zh) * | 2017-07-18 | 2020-12-04 | 美光科技公司 | 高频域的数据输出 |
CN111813726A (zh) * | 2020-07-10 | 2020-10-23 | 中科芯集成电路有限公司 | 控制信号从高速总线向低速总线的转换方法 |
CN111813726B (zh) * | 2020-07-10 | 2023-03-07 | 中科芯集成电路有限公司 | 控制信号从高速总线向低速总线的转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101923524B (zh) | 2012-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915303B (zh) | 基于PXIe总线的高速数字I/O系统 | |
US7725625B2 (en) | Latency insensitive FIFO signaling protocol | |
CN206557758U (zh) | 一种基于fpga可扩展的nand flash存储芯片阵列控制器 | |
CN104022775A (zh) | 一种面向SerDes技术中基于FIFO协议的数字接口电路 | |
CN103593306A (zh) | 一种协议处理器Cache控制单元的设计方法 | |
CN209842608U (zh) | 一种基于fpga fifo模块的ddr3存储器控制 | |
CN1504900B (zh) | 自内存读取数据的控制电路及其方法 | |
CN102103564B (zh) | 用于实现总线连接的方法及系统 | |
CN101923524B (zh) | 一种基于clb总线的存储器接口方法 | |
CN102508803A (zh) | 一种矩阵转置存储控制器 | |
CN115080494A (zh) | Spi从机电路、spi通信方法、接口和芯片 | |
CN102567272A (zh) | 一种提高spi接口电路工作频率的方法 | |
CN100458973C (zh) | 高速流水线中长延时多端口sram的快速访问方法 | |
CN110045782B (zh) | 一种数据读写同步电路及数据读写方法 | |
CN111723541A (zh) | 一种跨时钟域数据接口的实现方法 | |
CN103412847A (zh) | 基于fpga的usb转多路链路接口电路 | |
CN103577110A (zh) | 片上系统及片上系统的读写方法 | |
CN111190853A (zh) | 基于emif和srio接口的片间高速通信系统 | |
CN103150129B (zh) | PXIe接口Nand Flash数据流盘存取加速方法 | |
CN201936294U (zh) | 一种高速图像采集系统的缓存系统 | |
CN101950276B (zh) | 一种存储器访问装置及其程序执行方法 | |
CN201812284U (zh) | 一种存储器接口 | |
CN100561590C (zh) | 一种读取内存中数据的方法和系统 | |
CN203102274U (zh) | 一种高速数据传输连接器 | |
EP3173895A1 (en) | Clock tree implementation method, system-on-chip and computer storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room C2031, Suzhou Pioneer Park, 209 Zhuyuan Road, Suzhou High-tech Zone, Jiangsu Province Patentee after: Suzhou Guoxin Technology Co., Ltd. Address before: Room C2031, Suzhou Pioneer Park, 209 Zhuyuan Road, Suzhou High-tech Zone, Jiangsu Province Patentee before: C*Core Technology (Suzhou) Co., Ltd. |