基于现场可编程门阵列验证同步存储器控制器的装置、方法

文档序号:6777632阅读:123来源:国知局
专利名称:基于现场可编程门阵列验证同步存储器控制器的装置、方法
技术领域
本发明涉及现场可编程门阵列(FPGA)的验证,特别涉及基于FPGA验证同步存储器控制器的装置和方法。
背景技术
为了在FPGA平台上验证同步存储器的控制器,通常的结构如图1所示,包含外部同步存储器和用FPGA实现的同步存储器控制器,该控制器主要包括存储器控制模块和时钟单元。时钟单元的同步时钟分别送到该存储器控制模块和该外部同步存储器中,存储器控制模块输出控制信号和写数据到外部同步存储器;外部同步存储器在读控制有效的情况下,输出读数据到存储器控制模块。
但是,在实际工作中,这种设计经常会出现读写错误的情况。

发明内容
本发明要解决的技术问题是提供一种基于现场可编程门阵列平台验证同步存储器控制器的装置和方法,可以实现正确的数据读写。
为了解决上述技术问题,本发明提供了一种基于现场可编程门阵列平台验证同步存储器控制器的装置,包含同步存储器和现场可编程门阵列实现的同步存储器控制器,该同步存储器控制器包括时钟单元和存储器控制模块,该存储器控制模块和同步存储器之间有控制信号、写数据信号和读数据信号,进一步包含一时钟控制单元,该时钟控制单元的输入与所述时钟单元的输出相连,对输入的时钟信号进行移相,该移相后的时钟信号和所述时钟单元的输出各自连接到所述存储器控制模块和同步存储器中的一个,使同步存储器处的同步时钟信号和控制信号、写数据信号之间以及存储器控制模块处的同步时钟信号与读数据信号之间满足正常工作的时序关系。
所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到所述存储器控制模块,同时该时钟单元的时钟信号经过时钟控制单元超前后输出到所述外部同步存储器。
所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到该外部同步存储器,同时所述时钟单元的时钟信号经过时钟控制单元延迟后输出到所述存储器控制模块。
所述时钟控制单元对输入的同步时钟信号进行超前的角度为(T1+T2)/T*360,其中T1是不经超前处理时同步存储器处同步时钟相对最慢的控制信号的延迟时间,T2是同步存储器对控制信号的建立时间,T为时钟周期。
所述时钟控制单元为数字时钟管理DCM单元。
本发明提出一种基于现场可编程门阵列平台验证同步存储器控制器的方法,将时钟单元输出的时钟信号进行移相,再将该移相后的时钟信号和所述时钟单元的输出各自连接到所述存储器控制模块和同步存储器中的一个,使同步存储器处的同步时钟信号和控制信号、写数据信号之间以及存储器控制模块处的同步时钟信号与读数据信号之间满足正常工作的时序关系。
所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到所述存储器控制模块,同时该时钟单元的时钟信号经过超前后输出到该外部同步存储器。
对时钟单元输出的时钟信号进行超前的角度为(T1+T2)/T*360,其中T1是不经超前处理时同步存储器处同步时钟相对最慢的控制信号的延迟时间,T2是同步存储器对控制信号的建立时间,T为时钟周期。
所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到该外部同步存储器,同时该时钟单元输出的时钟信号进行延迟后输出到所述存储器控制模块。
与现有技术相比,本发明通过在基于FPGA验证同步存储器控制器的装置中加入一个数字时钟管理单元,对同步时钟进行移相处理,使到达存储器的控制信号和写数据的时序都能满足要求,输出的读数据也能满足控制模块的要求,从而解决了信号延迟造成的读写错误问题。此外,超前或滞后的时间灵活可调整,也可用于其它需要控制同步时钟的场合。


图1是现有基于FPGA平台验证同步存储器控制器的装置的结构框图;图2是图1中装置工作时的时序波形示意图;图3是图1中装置信号发生延迟时的时序波形示意图;图4是本发明实施例装置的结构框图;图5是图4中装置工作时的时序波形示意图。
具体实施例方式
造成同步存储器数据读写错误的原因很多,经过理论上的研究和反复试验,发现图1中装置出现数据读写错误主要与时序有关。
图1所示装置正常工作时的时序波形如图2所示。在同步时钟的第一个上升沿,存储器控制模块送出控制信号和写数据。在同步时钟的第二个上升沿,外部同步存储器锁存控制信号和写数据,如果是一个写操作,这个写数据就被存在外部同步存储器中;如果是一个读操作,则有一个读数据从外部同步存储器中取出并送向存储器控制模块。在同步时钟的第三个上升沿,存储器控制模块锁存读数据,从而完成一次读操作。
但是,图1中的信号线,包括时钟信号等,在传输过程中会产生延迟。因布线的不同延迟会有所差异。图3示出了图1中装置发生延迟时的一种时序波形的示意图。在图3中上部的同步时钟、控制信号、写数据和读数据等是在控制模块处看到的信号。这些信号经过FPGA输出腿延迟和电路板延迟,到达外部同步存储器后,就是图中示出的存储器的同步时钟、控制信号和写数据信号。而图中的存储器读数据信号经过电路板延迟和FPGA输入腿延迟,到达控制模块后,就是图中的控制模块读数据信号。
可以看出,存储器同步时钟比部分或全部控制信号和写数据后到达存储器。外部同步存储器会在第一个时钟上升沿采集控制信号和写数据,这样就出现了控制信号和写数据的提前采集,出现采集错误。同时,读数据在第二个时钟上升沿就到达了存储器控制模块,而存储器控制器是在第三个时钟上升沿采集读数据,因此出现了误读。
图4是本发明实施例基于FPGA平台验证同步存储器控制器的装置的结构框图。和图1一样,也包括外部同步存储器和FPGA实现的同步存储控制器,该控制器主要包括时钟单元和存储器控制模块,与现有技术相比,本实施例在时钟单元的输出和外部同步存储器之间增加了一个DCM(数字时钟管理)单元。时钟单元的输出仍直接连接到存储器控制模块。DCM是FPGA内置的一个时钟控制单元,它可以对时钟做0~360度的移相,使输出的同步时钟信号满足外部同步存储器的要求。不过本发明不局限于此,也可以采用其它可实现移相的单元,如FPGA中的嵌入式乘法器块也可以用作移相器。
这样,存储器控制模块和外部同步存储器采用两个不同的时钟。控制模块使用时钟单元出来的时钟;而外部同步存储器使用经DCM移相后的时钟。在实际中,主要担心出现时钟信号比控制信号后到达存储器,因此时钟主要是需要超前。超前量的计算如下如果不经超前处理时同步存储器处同步时钟相对最慢的控制信号的延迟为T1,外部同步存储器对控制信号的建立时间为T2,时钟的周期为T,那么超前的角度为(T1+T2)/T*360。其中T1和T2可以通过测试得到,而DCM移相的角度是可以调整的。
图5所示为本实施例装置工作时的时序波形示意图。和图3一样,其中的控制模块同步时钟、控制信号、写数据和读数据信号,表示在存储器控制模块处看到的同步时钟、控制信号、写数据和读数据;存储器控制模块输出的控制信号和写数据信号经过FPGA输出腿延迟和电路板延迟,到达外部同步存储器后,就是图中的存储器控制信号和写数据信号。存储器读数据信号经过电路板延迟和FPGA输入腿延迟,到达存储器控制模块后,就是存储器控制模块的读数据信号。这些信号与图3都相同。而时钟单元输出信号经DCM超前后,在外部同步存储器处看到的是存储器同步时钟信号。
从图5可以看出,外部同步存储器同步时钟被DCM超前后,外部同步存储器会在第二个时钟上升沿采集到控制信号和写数据,能正确采集到控制信号和写数据;存储器控制模块是在第三个时钟周期采集到读数据,从而能实现正确的读。
本发明在上述实施例的基础上还可以有其它各种变换。
例如,在本发明另一实施例中,也可以把经过DCM处理的同步时钟信号接入存储器控制模块,而时钟单元输出的同步时钟信号直接接入外部同步存储器。在实际中,这种情况下一般需要用DCM做信号的延迟,明显地得到的时序波形与图5相同,可以正确地实现外部同步存储器的读写。
又如,对于不同型号的外部同步存储器,其正常工作时同步时钟与控制信号、写数据信号、读数据信号等的时序关系不一定和上述实施例相同,对于本发明来说,通过可实现移相功能的单元使其达到外部同步存储器所需的时序即可。
另外,本发明装置的同步存储器不一定是外部存储器,也可以是FPGA的内部存储器。
权利要求
1.一种基于现场可编程门阵列平台验证同步存储器控制器的装置,包含同步存储器和现场可编程门阵列实现的同步存储器控制器,该同步存储器控制器包括时钟单元和存储器控制模块,该存储器控制模块和同步存储器之间有控制信号、写数据信号和读数据信号,其特征在于还包含一时钟控制单元,该时钟控制单元的输入与所述时钟单元的输出相连,对输入的时钟信号进行移相,该移相后的时钟信号和所述时钟单元的输出各自连接到所述存储器控制模块和同步存储器中的一个,使同步存储器处的同步时钟信号和控制信号、写数据信号之间以及存储器控制模块处的同步时钟信号与读数据信号之间满足正常工作的时序关系。
2.如权利要求1所述的装置,其特征在于所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到所述存储器控制模块,同时该时钟单元的时钟信号经过时钟控制单元超前后输出到所述外部同步存储器。
3.如权利要求1所述的装置,其特征在于所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到该外部同步存储器,同时所述时钟单元的时钟信号经过时钟控制单元延迟后输出到所述存储器控制模块。
4.如权利要求2所述的装置,其特征在于所述时钟控制单元对输入的同步时钟信号进行超前的角度为(T1+T2)/T*360,其中T1是不经超前处理时同步存储器处同步时钟相对最慢的控制信号的延迟时间,T2是同步存储器对控制信号的建立时间,T为时钟周期。
5.如权利要求1所述的装置,其特征在于所述时钟控制单元为数字时钟管理DCM单元。
6.一种基于现场可编程门阵列平台验证同步存储器控制器的方法,将时钟单元输出的时钟信号进行移相,再将该移相后的时钟信号和所述时钟单元的输出各自连接到所述存储器控制模块和同步存储器中的一个,使同步存储器处的同步时钟信号和控制信号、写数据信号之间以及存储器控制模块处的同步时钟信号与读数据信号之间满足正常工作的时序关系。
7.如权利要求6所述的方法,其特征在于所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到所述存储器控制模块,同时该时钟单元的时钟信号经过超前后输出到该外部同步存储器。
8.如权利要求7所述的方法,其特征在于对时钟单元输出的时钟信号进行超前的角度为(T1+T2)/T*360,其中T1是不经超前处理时同步存储器处同步时钟相对最慢的控制信号的延迟时间,T2是同步存储器对控制信号的建立时间,T为时钟周期。
9.如权利要求6所述的方法,其特征在于所述同步存储器为外部同步存储器,所述时钟单元的时钟信号输出到该外部同步存储器,同时该时钟单元输出的时钟信号进行延迟后输出到所述存储器控制模块。
全文摘要
本发明提供了一种基于现场可编程门阵列平台验证同步存储器控制器的装置,包含同步存储器和现场可编程门阵列实现的同步存储器控制器,该同步存储器控制器包括时钟单元和存储器控制模块,该存储器控制模块和同步存储器之间有控制信号、写数据信号和读数据信号,还包含一时钟控制单元,该时钟控制单元的输入与所述时钟单元的输出相连,对输入的时钟信号进行移相,该移相后的时钟信号和所述时钟单元的输出各自连接到所述存储器控制模块和同步存储器中的一个,使同步存储器处的同步时钟信号和控制信号、写数据信号之间以及存储器控制模块处的同步时钟信号与读数据信号之间满足正常工作的时序关系。
文档编号G11C7/10GK101022039SQ200710064418
公开日2007年8月22日 申请日期2007年3月14日 优先权日2007年3月14日
发明者杨作兴 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1