先入先出装置与相关的驱动方法与流程

文档序号:22756918发布日期:2020-10-31 09:54阅读:101来源:国知局
先入先出装置与相关的驱动方法与流程

本发明涉及一种先入先出(fifo)装置,尤其涉及一种跨越不同频率域的先入先出装置。



背景技术:

在数字电路中,频率信号和计数器被广泛用于控制不同频率域的多个电路之间的协同运作。例如,图1中的芯片包含第一频率域cd1和第二频率域cd2,第一延迟单元110所输出的第一频率信号ck1被提供至第一频率域cd1,且第二延迟单元120所输出的第二频率信号ck2被提供至第二频率域cd2。第一延迟单元110和第二延迟单元120是用于说明由来源频率信号sc所产生的一频率树上的信号延迟。第一频率域cd1中的组件会依据一顺序向第二频率域cd2中的组件传送数据信号,或是从第二频率域cd2中的组件接收数据信号。前述的顺序是由第一计数值cv1和第二计数值cv2来决定,且第一计数值cv1和第二计数值cv2是分别由第一频率域cd1的计数器130和第二频率域cd2的计数器140所产生。当第一频率域cd1的计数器130被重置时,第一频率域cd1会传送重置信号rs0以重置第二频率域cd2的计数器140。然而,当来源频率信号sc暂时切换至断电状态以节省功率时,第一频率信号ck1和第二频率信号ck2可能无法同步停止或开始震荡。

如图2所示,当第一频率信号ck1于时段tp中重新开始震荡时,第二频率信号ck2仍会于相当一个或多个周期的时间中维持于固定电压电平。如此一来,第二频率域cd2中的组件便无法在脉冲期间采样重置信号rs0的脉冲,使得第二频率域cd2的计数器140溢位(overflow)且输出错误的计数值3和4。



技术实现要素:

本发明提供一种先入先出装置,用于接收第一频率域中的第一频率信号,并用于接收第二频率域中的第二频率信号。前述的先入先出装置包含多个写入缓存器、第一控制电路、多任务器、以及第二控制电路。多个写入缓存器用于接收输入信号和第一频率信号,且多个写入缓存器的每一个用于输出第一输出。第一控制电路用于接收第一频率信号,并用于产生第一切换脉冲,且用于依据一顺序致能多个写入缓存器。多任务器用于接收多个第一输出。第二控制电路用于依据第一切换脉冲和第二频率信号控制多任务器,且多任务器依据前述的顺序输出第二输出。第一频率信号相较于来源频率信号具有第一延迟时间,第二频率信号相较于来源频率信号具有第二延迟时间,且第一延迟时间与第二延迟时间的差值介于来源频率信号的m-1个周期与m+1个周期之间,m为正整数。多个写入缓存器的数量大于或等于m。

在某些实施例中,第一控制电路包含第一计数器和第一重置电路。第一计数器用于依据前述的顺序进行计数。第一重置电路用于输出第一重置脉冲至第一计数器,以使第一计数器重新计数。当第一重置电路输出第一重置脉冲时,第一重置电路输出第一切换脉冲。

在某些实施例中,第一重置电路通过计数第一频率信号的上升沿以决定第一切换脉冲的脉冲宽度。第一切换脉冲会持续存在,直到第一重置电路自第一切换脉冲产生的时间点起已计数到n个第一频率信号的上升沿,n为正整数,且n大于m。

在某些实施例中,第二控制电路包含异步接口,且异步接口用于依据第一切换脉冲产生第二切换脉冲。第一切换脉冲通过第一切换信号传输,且第二切换脉冲通过第二切换信号传输。当第一频率信号具有震荡波形且第二频率信号具有固定电压电平时,第一切换信号自禁能电压电平切换至致能电压电平,且第一切换信号维持于致能电压电平直到第二频率信号自固定电压电平切换至震荡波形。

在某些实施例中,异步接口包含用于接收第二频率信号的至少一d正反器。至少一d正反器包含第一节点和第二节点,且至少一d正反器的第一节点用于接收第一切换信号,至少一d正反器的第二节点用于输出第二切换信号。

在某些实施例中,第二控制电路还包含第二计数器和第二重置电路。第二计数器用于依据前述的顺序进行计数。第二重置电路用于依据第二切换脉冲输出一第二重置脉冲至第二计数器,以使第二计数器重新计数。

在某些实施例中,多个写入缓存器的每一个是一d正反器。

本发明提供适用于先入先出装置的一种驱动方法。前述的先入先出装置用于接收第一频率域中的第一频率信号,且用于接收第二频率域中的第二频率信号。前述的驱动方法包含以下流程:利用多个写入缓存器接收输入信号和第一频率信号,且多个写入缓存器的每一个用于输出一第一输出;利用一第一控制电路产生一第一切换脉冲,并依据一顺序致能多个写入缓存器,且第一控制电路用于接收第一频率信号;利用一多任务器接收多个第一输出;利用一第二控制电路依据第一切换脉冲和第二频率信号控制多任务器,且多任务器依据前述的顺序输出一第二输出。第一频率信号相较于一来源频率信号具有一第一延迟时间,第二频率信号相较于来源频率信号具有一第二延迟时间,且第一延迟时间与第二延迟时间的一差值介于来源频率信号的m-1个周期与m+1个周期之间,m为一正整数。多个写入缓存器的数量大于或等于m。

在某些实施例中,利用第一控制电路产生第一切换脉冲并依据前述的顺序致能多个写入缓存器的流程包含:利用第一计数器依据前述的顺序进行计数,以使第一控制电路依据前述的顺序致能多个写入缓存器;利用第一重置电路输出第一重置脉冲至第一计数器,以使第一计数器重新计数;当第一重置电路输出第一重置脉冲时,利用第一重置电路输出第一切换脉冲。

在某些实施例中,当第一重置电路输出第一重置脉冲时,利用第一重置电路输出第一切换脉冲的运作包含:利用第一重置电路通过计算第一频率信号的上升沿以决定第一切换脉冲的脉冲宽度。第一切换脉冲会持续存在,直到第一重置电路自第一切换脉冲产生的一时间点起已计数到n个第一频率信号的上升沿,n为正整数,且n大于m。

在某些实施例中,第二控制电路包含异步接口,且利用第二控制电路依据第一切换脉冲和第二频率信号控制多任务器的流程包含:利用异步接口依据第一切换脉冲产生第二切换脉冲。第一切换脉冲通过第一切换信号传输,且第二切换脉冲通过第二切换信号传输。当第一频率信号具有震荡波形且第二频率信号具有固定电压电平时,第一切换信号自禁能电压电平切换至致能电压电平,且第一切换信号维持于致能电压电平直到第二频率信号自固定电压电平切换至震荡波形。

在某些实施例中,异步接口包含至少一d正反器,且利用异步接口依据第一切换脉冲产生第二切换脉冲的流程包含:利用至少一d正反器接收第二频率信号;利用至少一d正反器的第一节点接收第一切换信号;利用至少一d正反器的第二节点输出第二切换信号。

在某些实施例中,第二控制电路包含第二计数器和第二重置电路,且利用第二控制电路依据第一切换脉冲和第二频率信号控制多任务器的流程还包含:利用第二计数器依据顺序计数以使多任务器输出多个第一输出,并使多个第一输出依据顺序分别作为第二输出;利用第二重置电路依据第二切换脉冲输出第二重置脉冲至第二计数器,以使第二计数器重新计数。

附图说明

图1为被划分为不同频率域的芯片的示意图。

图2为图1的芯片的时序图。

图3为依据本发明一实施例的先入先出装置简化后的功能方框图。

图4为依据本发明一实施例的来源频率信号、第一频率信号、以及第二频率信号的波形示意图。

图5为依据本发明一实施例的异步接口简化后的示意图。

图6为依据本发明一实施例的驱动方法的流程图。

图7为先入先出装置在第二频率信号的第二延迟时间长于第一频率信号的第一延迟时间的一实施例中的时序图。

图8为先入先出装置在第一频率信号的第一延迟时间长于第二频率信号的第二延迟时间的一实施例中的时序图。

具体实施方式

图3为依据本发明一实施例的先入先出(firstinandfirstout,fifo)装置300简化后的功能方框图。先入先出装置300包含第一控制电路310、第二控制电路320、多个写入缓存器330-1至330-n、多任务器340、以及读取缓存器350。为使图面简洁而易于说明,先入先出装置300中的其他组件与连接关系并未示出于图3中。

本发明说明书和图式中使用的组件编号和信号编号中的索引1至n,只是为了方便指称个别的组件和信号,并非有意将前述组件和信号的数量局限在特定数目。

先入先出装置300跨越第一频率域cd1和第二频率域cd2。自第一延迟单元301输出的第一频率信号ck1被提供至第一频率域cd1中的多个组件。自第二延迟单元302输出的第二频率信号ck2被提供至第二频率域cd2中的多个组件。第一频率信号ck1和第二频率信号ck2皆属于由来源频率信号sc产生的一频率树。

在某些实施例中,来源频率信号sc所在的频率域不同于第一频率域cd1与第二频率域cd2。

图4为依据本发明一实施例的来源频率信号sc、第一频率信号ck1、以及第二频率信号ck2的波形示意图。由于第一延迟单元301和第二延迟单元302的关系,第一频率信号ck1相较于来源频率信号sc具有第一延迟时间t1,且第二频率信号ck2相较于来源频率信号sc具有第二延迟时间t2。第一延迟单元301和第二延迟单元302是分别用于说明第一频率域cd1和第二频率域cd2中的信号延迟,而并非先入先出装置300中实际存在的缓冲器或延迟电路。

参照图3,写入缓存器330-1至330-n用于接收输入信号din和第一频率信号ck1,且写入缓存器330-1至330-n的每一个用于输出一第一输出ou1。输入信号din可以是包含单一位或多个位的数据信号。

在某些实施例中,输入信号din属于第一频率域cd1。

第一控制电路310用于接收第一频率信号ck1,且用于依据一顺序致能写入缓存器330-1至330-n。例如,写入缓存器330-1至330-n会依序接收输入信号din,且会依序输出多个第一输出ou1。第一控制电路310包含第一计数器312和第一重置电路314。第一计数器312用于接收第一频率信号ck1,且用于依据前述的顺序进行计数,以使第一控制电路310依据第一计数器312的计数值对应地致能写入缓存器330-1至330-n的其中一个。

第一重置电路314用于输出第一重置信号rs1至第一计数器312,以重置第一计数器312。第一重置电路314还用于输出第一切换信号tog1至第二控制电路320,以控制第二频率域cd2中的组件依据前述的顺序处理多个第一输出ou1。

第二控制电路320包含第二计数器322、第二重置电路324、以及异步接口326。异步接口326用于延迟第一切换信号tog1以产生第二切换信号tog2,且第二切换信号tog2会传送至第二重置电路324。第二重置电路324用于依据第二切换信号tog2输出第二重置信号rs2至第二计数器322,且第二重置信号rs2是用于重置第二计数器322。

第二计数器322用于依据前述的顺序进行计数。多任务器340用于接收多个第一输出ou1。第二控制电路320用于控制多任务器340输出接收到的多个第一输出ou1的其中一个以作为第二输出ou2,且多任务器340所输出的第二输出ou2会对应于第二计数器322的计数值。

读取缓存器350用于依据第二输出ou2和第二频率信号ck2来输出第三输出ou3。实际操作上,读取缓存器350与写入缓存器330-1至330-n的每一个各自是由至少一个d正反器所实现。

图5为依据本发明一实施例的异步接口326简化后的示意图。异步接口326包含由第二频率信号ck2所驱动的至少一d正反器。前述至少一d正反器的第一节点用于接收第一切换信号tog1,且至少一d正反器的第二节点用于输出第二切换信号tog2。

图6为依据本发明一实施例的驱动方法600的流程图。驱动方法600适用于前述的先入先出装置300,且包含流程s610至流程s640。为便于说明,以下将以包含4个写入缓存器(亦即,n等于4)的多个实施例来进一步说明先入先出装置300与驱动方法600。

图7为先入先出装置300在第二频率信号ck2的第二延迟时间t2长于第一频率信号ck1的第一延迟时间t1的一实施例中的时序图。同时参照图6和图7,在流程s610中,先入先出装置300利用写入缓存器330-1至330-n接收输入信号din和第一频率信号ck1。

在流程s620中,先入先出装置300利用第一控制电路310产生第一切换信号tog1,且依据一顺序致能写入缓存器330-1至330-n。

例如,在阶段a0中,第一重置电路314通过第一重置信号rs1提供第一重置脉冲pr1至第一计数器312,以将第一计数器312的计数值重置为0。因此,第一控制电路310会控制写入缓存器330-1接收输入信号din(d00)。在阶段a1中,第一计数器312的计数值为1,使得第一控制电路310控制写入缓存器330-2接收输入信号din(d01),且此时的写入缓存器330-1会输出第一输出ou1(d00)。在阶段a2中,第一计数器312的计数值为2,使得第一控制电路310控制写入缓存器330-3接收输入信号din(d02),且此时的写入缓存器330-2输出第一输出ou1(d01)。

当第一重置电路314产生第一重置脉冲pr1时,第一重置电路314会通过第一切换信号tog1将第一切换脉冲pt1提供至异步接口326。第一重置电路314用于将计数到的第一频率信号ck1的上升沿数量和一默认值进行比较,并依据比较结果决定第一切换脉冲pt1的脉冲宽度。在本实施例中,第一切换脉冲pt1会持续存在,直到第一重置电路314自第一切换脉冲pt1产生的时间点起已计数到3个第一频率信号ck1的上升沿,亦即前述的默认值为3,但本发明并不以此为限。在某些实施例中,默认值为写入缓存器330-1至330-n的深度(亦即,数量)减去1。例如,在写入缓存器330-1至330-n的数量为4的情况下,默认值会被设置为3。

在流程s630中,先入先出装置300利用多任务器340接收多个第一输出ou1。

在流程s640中,先入先出装置300利用第二控制电路320依据第一切换信号tog1和第二频率信号ck2来控制多任务器340,且多任务器340会输出多个第一输出ou1,以使多个第一输出ou1依据前述的顺序分别作为第二输出ou2。

例如,异步接口326会将第一切换脉冲pt1延迟第一频率信号ck1(或第二频率信号ck2)的至少一个周期,以产生第二切换脉冲pt2。第二切换脉冲pt2会通过第二切换信号tog2传送至第二重置电路324。第二重置电路324依据第二频率信号ck2对第二切换信号tog2进行采样,以决定第二重置信号rs2的波形。当第二重置电路324接收到第二切换脉冲pt2的上升沿时,第二重置电路324输出第二重置脉冲pr2至第二计数器322,以将第二计数器322的计数值重置为0。

在图7的实施例中,为了产生第二切换信号tog2,异步接口326会将第一切换脉冲pt1延迟约第一频率信号ck1的两个周期。因此,第二计数器322在阶段a2中的计数值为0,且第二控制电路320控制多任务器340输出写入缓存器330-1的第一输出ou1(d00)作为第二输出ou2。

在阶段a3中,第一控制电路310控制写入缓存器330-4接收输入信号din(d03),且写入缓存器330-3会输出第一输出ou1(d02)。第二控制电路320控制多任务器340输出写入缓存器330-2的第一输出ou1(d01)作为第二输出ou2。在此阶段中,读取缓存器350会依据在阶段a2所接收到的第二输出ou2来输出第三输出ou3(d00)。由于异步接口326所提供的延迟的关系,即使第一频率信号ck1和第二频率信号ck2之间存在有相位差,多任务器340仍能依据前述的顺序来选择适当的第一输出ou1。

在此实施例中,来源频率信号sc会暂时地切换至断电状态,所以第一频率信号ck1会在阶段a4中自震荡波形切换至固定电压电平。第一频率信号ck1会在阶段a4至a6中维持于固定电压电平。在此实施例中,第二延迟时间t2比第一延迟时间t1长约来源频率信号sc的一个周期。因此,第二频率信号ck2于阶段a4中仍会往复震荡,且会于阶段a5中切换为固定电压电平。

于阶段a4中,第二计数器322的计数值为2,使得第二控制电路320控制多任务器340输出写入缓存器330-3的第一输出ou1(d02)作为第二输出ou2。由于写入缓存器330-1至330-n的数量大于第二频率信号ck2在第一频率信号ck1切换至固定电压电平后仍会震荡的周期数量,多任务器340不会输出尚未具有稳定或适当数值的第一输出ou1(例如,写入缓存器330-4的第一输出ou1)。

换言之,第一延迟时间t1与第二延迟时间t2之间的差值大约等于来源频率信号sc的m个周期,且m为正整数。写入缓存器330-1至330-n的数量被设置为大于或等于m。例如,在图7的实施例中,第一延迟时间t1与第二延迟时间t2之间的差值介于来源频率信号sc的1个周期和2个周期之间(亦即,m为1),而写入缓存器330-1至330-n的数量为4。

在阶段a7中,第一频率信号ck1自固定电压电平切换至震荡波形。第一重置电路314将第一重置脉冲pr1提供至第一计数器312,以将第一计数器312的计数值重置为0。因此,第一控制电路310控制写入缓存器330-1读取输入信号din(d10),且写入缓存器330-4会输出第一输出ou1(d03)。

如前所述,第一切换脉冲pt1会持续存在,直到第一重置电路314自第一切换脉冲pt1产生的时间点起已计数到3个第一频率信号ck1的上升沿。因此,第一切换脉冲pt1会自阶段a7延伸至阶段a9。如此一来,当第二频率信号ck2于阶段a8中重新震荡时,异步接口326便可以对第一切换脉冲pt1进行采样。于阶段a9中,异步接口326提供第二切换脉冲pt2至第二重置电路324,以使第二重置电路324提供第二重置脉冲pr2至第二计数器322。

换言之,当第一频率信号ck1具有震荡波形时,第二频率信号会具有固定电压电平,且第一切换信号tog1自禁能电压电平切换至致能电压电平。第一切换信号tog1维持于致能电压电平至少直到当第二频率信号ck2自固定电压电平切换至震荡波形。

总而言之,第一延迟时间t1与第二延迟时间t2之间的差值会大约等于来源频率信号sc的m个周期(例如,1个周期)。第一切换脉冲pt1会持续存在直到重置电路314自第一切换脉冲pt1产生的时间点起已计数到第一频率信号ck1的n个上升沿(例如,3个上升沿)。m和n为正整数,且n大于m以确保异步接口326能对第一切换脉冲pt1进行采样。

图8为先入先出装置300在另一实施例中的时序图。图8的实施例相似于图8的实施例,差异在于图8的第一频率信号ck1的第一延迟时间t1长于第二频率信号ck2的第二延迟时间t2。在本实施例中,当来源频率信号sc被暂时切换至断电状态时,第二频率信号ck2于阶段a4中自震荡波形切换至固定电压电平。当第一延迟时间t1比第二延迟时间t2长大约来源频率信号sc的1个周期时,第一频率信号ck1于阶段a4中仍会往复震荡,并于阶段a5中被切换至固定电压电平。

在阶段a4,第一重置电路314提供第一重置脉冲pr1至第一计数器312,并提供第一切换脉冲pt1至异步接口326。为确保异步接口326能对第一切换脉冲pt1进行采样,第一重置电路314会持续地提供第一切换脉冲pt1,直到第一重置电路314自第一切换脉冲pt1产生的时间点起已计数到第一频率信号ck1的3个上升沿。

因此,即使第二频率信号ck2在第一切换脉冲pt1产生时切换至固定电压电平,异步接口326仍能在阶段a7对第一切换脉冲pt1进行采样。如此一来,异步接口326便能于阶段a9中产生第二切换脉冲pt2。

在此实施例中,写入缓存器330-1至330-n的数量为4,且第一延迟时间t1与第二延迟时间t2之间的差值介于来源频率信号sc的1个周期与0个周期之间(亦即,m等于1)。由于写入缓存器330-1至330-n的数量大于前述差值所对应的周期数量,当第二频率信号ck2具有固定电压电平时,多任务器340的输出不会被第一频率域cd1中的组件运作所影响。另外,包含有未被多任务器340所输出的数据的第一输出ou1也不会被更新。如此一来,与数据遗失相关的问题便可被避免。

例如,第一控制电路310会控制第一写入缓存器330-1于阶段a4中接收输入信号din(d10),且第一控制电路310会于阶段a5至a6中暂停运作。因此,多任务器340的输出(亦即,对应于写入缓存器330-2的第一输出ou1(d01))不会于阶段a3至a6中被影响。写入缓存器330-3的输入与输出状态不会于阶段a3至a9中被更新,以使写入缓存器330-3的第一输出ou1(d02)能在第二频率信号ck2于阶段a7中重新震动时被多任务器340所输出。相似地,写入缓存器330-4于阶段a4至a10中不会被更新,以使写入缓存器330-4的第一输出ou1(d03)能于阶段a8中被多任务器340所输出。

在某些实施例中,第一延迟时间t1与第二延迟时间t2之间的差值,介于来源频率信号sc的m-1个周期与m+1个周期之间,且写入缓存器330-1至330-n的数量被设置为大于或等于m。

综上所述,先入先出装置300与驱动方法600通过增加写入缓存器群组的深度,以及延伸用于重置不同频率域中的计数器的脉冲等两种方式来避免误输出。

以上仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。

【符号说明】

110:第一延迟单元

120:第二延迟单元

130:计数器

140:计数器

cv1:第一计数值

cv2:第二计数值

rs0:重置信号

ck1:第一频率信号

ck2:第二频率信号

sc:来源频率信号

300:先入先出装置

301:第一延迟单元

302:第二延迟单元

310:第一控制电路

312:第一计数器

314:第一重置电路

320:第二控制电路

322:第二计数器

324:第二重置电路

326:异步接口

330-1至330-n:写入缓存器

340:多任务器

350:读取缓存器

cd1:第一频率域

cd2:第二频率域

din:输入信号

tog1:第一切换信号

tog2:第二切换信号

ou1:第一输出

ou2:第二输出

ou3:第三输出

rs1:第一重置信号

rs2:第二重置信号。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1