用于将数据驱动到总线上的系统和方法

文档序号:6558098阅读:183来源:国知局
专利名称:用于将数据驱动到总线上的系统和方法
技术领域
本发明涉及用于将数据驱动到总线上的系统和方法。
背景技术
在共享总线系统中,可以将多个总线代理连接到共享总线上。数据传输由系统时钟指示,该系统时钟提供用于在总线代理之间共享总线两端接收和发送数据的定时。各总线代理产生作为系统时钟复制品的内部总线时钟。相关内部总线时钟由各个代理使用,以将数据驱动到总线上,以由一个或多个其它总线代理接收。另外,相关内部总线时钟由各个代理使用,以锁存从共享总线上另一相应代理接收的数据。因而,在连接到共享总线的代理的内部总线时钟之间的同步对于可靠的数据交换是极其重要的。
然而,即使实现了内部总线时钟的精确同步,但由于与给定代理相关的固有或内在特性,给定代理也可能迟于其它代理将数据驱动到总线上。随着总线频率的增加,这种情况变得更有问题,并且会导致从源代理驱动的数据不能在目的代理锁存该数据的时间内(例如在单个时钟周期内)到达目的代理。

发明内容
根据本发明,用于将数据驱动到数据总线上的系统包括总线时钟信号,其是控制与在所述数据总线上传输数据相关联的定时的系统时钟信号的拷贝;数据时钟信号,其设计为超前于所述系统时钟信号部分时钟周期,以在所述总线时钟信号之前将数据驱动到所述数据总线上;输出锁存器件,其响应于所述数据时钟信号的边沿将数据驱动到所述数据总线上;以及偏斜校正器,其在所述数据时钟滞后于所述总线时钟的情况下减轻所述数据总线上的数据竞争。


图1显示了用于将数据驱动到总线上的系统实施例的框图。
图2显示了输出锁存器件的实施例的示意图。
图3显示了示出在数据时钟滞后于总线时钟的情况下与通过输出锁存器传输数据相关联的定时信号的时序图的实施例。
图4显示了示出在数据时钟超前于总线时钟的情况下与通过输出锁存器传输数据相关联的定时信号的时序图的实施例。
图5显示了具有共享总线的多代理系统的实施例。
图6显示了用于将数据驱动到总线上的方法的实施例。
图7显示了用于将数据驱动到总线上的方法的另一实施例。
具体实施例方式
本公开一般涉及用于将数据驱动到总线上的系统和方法。该系统和方法使用从系统时钟获得的总线时钟以及设计为超前于该总线时钟的数据时钟。提供偏斜校正器,以在数据时钟确实滞后于系统时钟的情况下减轻数据到总线的竞争。竞争定义为,在总线上为目的器件过早地(例如大约一个完整的时钟周期)提供数据,导致在时钟周期期间总线上的数据不正确,引起致命错误。
图1显示了用于将数据驱动到总线上的系统10。该系统10能够用作连接到共享总线系统(例如前端总线)的总线代理的驱动系统,该共享总线系统具有多个连接到总线的附加总线代理。连接到数据总线的给定总线代理可以是处理器、存储器控制器、I/O控制器、总线控制器或各种其它总线代理器件中的一种。每一个总线代理能够产生内部总线时钟,该内部总线时钟是确定用于将数据驱动到总线并锁存来自总线的数据的工作频率的系统时钟的拷贝。例如,可在时钟周期的上升沿由源代理将数据驱动到总线上,其中该数据需要在该时钟周期结束时由目的代理进行锁存。系统10可用在将数据驱动到数据总线固有地慢于至少一个其它总线代理的总线代理中,以便于固有地较慢的总线代理和至少一个其它总线代理之间数据传输的同步。例如,由于制造工艺的不同,一个总线代理可使用比其它总线代理固有地较慢的元件。此外,由于与总线代理相关的固有特性,总线代理在内部生成的总线时钟之间会有偏斜。
系统10包括一组内部锁存器12、一组输出锁存器14以及一组输出驱动器16。内部锁存器12基于总线时钟(BCLK)将数据锁存到输出锁存器,该总线时钟是作为系统时钟的拷贝或复制品的内部生成的时钟。输出锁存器14将从内部锁存器12接收的数据锁存到输出驱动器16,输出驱动器将数据驱动到总线上。输出锁存器14基于总线时钟信号(BCLK)和内部生成的数据时钟信号(DCLK)将数据锁存到输出驱动器16。数据时钟信号和总线时钟信号设计为具有基本相同的频率。数据时钟信号设计为超前于总线时钟信号,以在总线时钟信号的上升沿之前驱动数据从输出锁存器14经过输出驱动器16。这减轻了将数据驱动到总线上以由目的器件在总线时钟的单个时钟周期内获取时与系统10的固有特性相关的延迟。
然而,由于数据时钟和总线时钟都是内部生成的,例如使用不同的锁相环(PLL)器件,因此会出现总线时钟和数据时钟之间的偏斜。结果,数据时钟可能实际上滞后于总线时钟。系统10使用偏斜校正器18,该偏斜校正器确保直到总线时钟和数据时钟都处于同一预定状态(例如低态)时与输出锁存器14相关联的主器件才是导通(transparent)的。偏斜校正器18产生主时钟(MCLK),该主时钟是总线时钟和数据时钟的函数。主时钟控制数据从内部锁存器12到输出锁存器14的主器件的传送。因而,无论数据时钟超前于还是滞后于总线时钟,直到数据时钟和总线时钟都处于例如低态时,数据才从内部锁存器12经输出锁存器14的主器件传送到从器件。在数据时钟的上升沿,数据通过输出锁存器14的从器件经输出驱动器16传送到总线。对于输出锁存器14的从器件,数据时钟是从时钟(SLCK)。偏斜校正器18减轻数据到总线的竞争,而不增加额外延迟。偏斜校正器18还补偿在数据从输入锁存器12传送到总线期间由于数据时钟花费太多来自总线时钟的周期时间而引起的压缩周期时间。
图2显示了输出锁存器件30的实施例。输出锁存器件30是主从触发器。主从触发器的主部分包括第一反相器32和第一传输门34。主从触发器的从部分包括第二反相器36和第二传输门38。第一和第二传输门34和38可由n型场效应晶体管(NFET)和p型场效应晶体管(PFET)连接在一起形成。第一和第二传输门34和38包括启动线,其中当相应启动线处于高态时,传输门是导通的,允许数据通过传输门,并且当相应启动线处于低态时,传输门是不导通的,禁止数据通过传输门。数据时钟(DCLK)和总线时钟(BCLK)用于将输入数据锁存到输出锁存器件30的输出端。数据时钟设计为超前于总线时钟部分时钟周期(例如1/8时钟周期、1/4时钟周期)。输出锁存器件30包括“或非”门40,该“或非”门在数据时钟滞后于总线时钟部分时钟周期的情况下提供偏斜校正。
如图2所示,数据时钟提供给第二传输门38的启动线,并操作为从时钟(SCLK)。数据时钟和总线时钟提供为“或非”门40的输入。“或非”门40的输出提供给第一传输门34的启动线,并操作为主时钟(MCLK)。直到总线时钟和数据时钟都处于低态时,经第一反相器32提供给第一门的数据才通过第一传输门34。因而,无论数据时钟滞后还是超前于总线时钟,直到总线时钟和数据时钟都处于低态时,输入数据才通过主部分的第一传输门34。主部分中保存的数据在数据时钟的下一个上升沿经第二反相器36通过从部分的第二传输门38。因而,数据时钟控制从主从触发器或锁存输出器件30经驱动器(未图示)将数据输出驱动到总线上。
图3是显示与在数据时钟滞后于总线时钟的情况下经输出锁存器传输数据相关联的定时信号的时序图50。可参照图2所示的经输出锁存器锁存数据,讨论与时序图相关的定时信号。在时间T0,总线时钟从低态上升到高态,将数据A从内部锁存器提供给输出锁存器的主部分的输入端。此时,数据Z位于输出锁存器的从部分的输入端,同时数据Y已驱动到总线。由于总线时钟和数据时钟的其中一个处于高态,因此主时钟从高态降到低态。在时间T1,数据时钟从低态升到高态,将数据Z从输出锁存器的从部分驱动到总线。在时间T2,总线时钟已经从高态降到低态,并且数据时钟从高态降到低态。因而,总线时钟和数据时钟都处于低态,使主时钟从低态升到高态,将数据A通过输出锁存器的主部分传送到输出锁存器的从部分。
在时间T3,总线时钟从低态升到高态,将数据B从内部锁存器提供到输出锁存器的主部分的输入端。在时间T4,数据时钟从低态升到高态,将数据A从输出锁存器的从部分驱动到总线。在时间T5,总线时钟已经从高态降到低态,并且数据时钟从高态下降到低态。因而,总线时钟和数据时钟都处于低态,使主时钟从低态上升到高态,将数据B经输出锁存器的主部分传送到输出锁存器的从部分。上述过程以流水线方式重复。
图4是显示与在数据时钟超前于总线时钟的情况下经输出锁存器传输数据相关的定时信号的时序图60。可参照图2所示的经输出锁存器锁存数据,讨论与时序图相关的定时信号。在时间T0,数据时钟从低态上升到高态,将数据Z从输出锁存器的从部分驱动到总线。此时,数据Z还位于输出锁存器的主部分的输入端。由于总线时钟和数据时钟之一处于高态,因此主时钟从高态下降到低态。在时间T1,总线时钟从低态上升到高态,将数据A从内部锁存器件驱动到输出锁存器的主部分的输入端。在时间T2,数据时钟已经从高态下降到低态,并且总线时钟从高态下降到低态。因而,总线时钟和数据时钟都处于低态,使主时钟从低态上升到高态,将数据A经输出锁存器的主部分传送到输出锁存器的从部分。
在时间T3,数据时钟从低态上升到高态,将数据A从输出锁存器的从部分驱动到总线,并使主时钟从高态下降到低态。在时间T4,总线时钟从低态上升到高态,将数据B从内部锁存器件提供到输出锁存器的主部分的输入端。在时间T5,数据时钟已经从高态下降到低态,并且总线时钟从高态下降到低态。因而,总线时钟和数据时钟都处于低态,使主时钟从低态上升到高态,将数据B经输出锁存器的主部分传送到输出锁存器的从部分。上述过程以流水线方式重复。
图5显示了具有共享总线80的多代理系统70。多代理系统70例如可以是多处理器系统。该多代理系统包括连接到共享总线80的多个代理72、74、76和78。多个代理72、74、76和78可以是连接到该总线的处理器或其它类型的总线代理。多代理系统70包括控制器90,例如I/O控制器、总线控制器、存储器控制器或其任意组合。在图5的实例中,控制器90将数据驱动到总线上固有地要慢于至少一个其它总线代理。因而,控制器90使用驱动系统98,以便于固有地较慢的控制器90与至少一个其它总线代理之间数据传输的同步。多代理系统70包括系统时钟82,该系统时钟向多代理的各代理提供系统时钟82的匹配拷贝(SCLK1-SCLK5)。每一个总线代理能够产生是系统时钟拷贝的内部总线时钟,该内部总线时钟确定用于将数据驱动到总线80并锁存来自总线80的数据的工作频率。
驱动系统98将总线80上的数据驱动到连接到总线80的多个代理72、74、76和78中的一个或多个代理上。控制器90还包括接收器96,用于锁存来自多个代理72、74、76和78中一个或多个代理的数据,并将该数据传输到一个或多个外部器件。控制器90包括产生内部总线时钟(BCLK)的第一锁相环(PLL)92,该内部总线时钟是系统时钟(SCLK1)的拷贝。控制器90包括产生数据时钟(DCLK)的第二PLL94,该数据时钟设计为超前于总线时钟部分时钟周期。驱动系统98包括一组内部锁存器、一组输出锁存器和一组输出驱动器。内部锁存器基于总线时钟将数据锁存到输出锁存器,并且输出锁存器将从内部锁存器接收的数据锁存到输出驱动器,该输出驱动器将数据驱动到总线上。输出锁存器基于总线时钟和数据时钟信号将数据锁存到输出驱动器。
驱动系统98使用偏斜校正器,该偏斜校正器确保直到总线时钟和数据时钟都处于同一预定状态例如低态时,与输出锁存器相关联的主器件才是导通的。偏斜校正器从总线时钟和数据时钟产生主时钟,并从数据时钟产生从时钟。因而,无论数据时钟超前于还是滞后于总线时钟,直到总线时钟和数据时钟都处于低态,数据才从内部锁存器经输出锁存器的主器件传送。数据在数据时钟的上升沿经输出锁存器的从器件通过输出驱动器传送到总线。偏斜校正器减轻数据到总线的竞争。
考虑上述结构性及功能性特征,参照图6-7会更好地理解特定方法。应该理解并认识到,在其它实施例中,所示的操作可以不同的顺序和/或与其它操作同时发生。此外,并不是所有的所示特征都是实现某一方法所必需的。
图6显示了用于将数据驱动到数据总线上的方法。该方法例如可应用于连接到共享总线的总线代理中,其中该总线代理在将数据驱动到总线上时固有地慢于至少一个其它代理。该控制方法从100开始,在此基于系统时钟生成总线时钟。该总线时钟设计为是系统时钟的匹配拷贝或复制品。在110,产生数据时钟,该数据时钟设计为超前于总线时钟部分时钟周期。数据时钟和总线时钟设计成具有基本相同的频率。在120,在总线时钟的边沿由输出锁存器件接收输入数据。例如可以在总线时钟的上升沿从内部锁存器件接收输入数据。在130,当总线时钟和数据时钟都处于同一预定状态时,输入数据经输出锁存器件的主部分传送到从部分的输入端。例如,同一预定状态可以是低态或高态。随后方法继续到140。在140,在数据时钟的边沿,将输入数据经输出锁存器的从部分驱动到总线上。数据时钟的边沿例如可以是数据时钟的上升沿。
图7显示了用于将数据驱动到总线上的另一方法。在200,在与系统时钟匹配的总线时钟的边沿接收输入数据。在210,当总线时钟和数据时钟处于同一预定状态时,将数据经输出锁存器的第一部分传送到第二部分。数据时钟设计为超前于总线时钟。在220,在数据时钟的边沿将数据从输出锁存器的第二部分驱动到总线。
上文所描述的是本发明的实例。当然,为了描述本发明,不可能描述每个可想到的元件或方法的组合,但本领域技术人员将认识到,本发明的许多进一步组合和置换是可能的。因而,本发明意欲含盖落在所附权利要求书精神及范围内的所有这种改变、修改及变化。
权利要求
1.一种用于将数据驱动到数据总线(80)上的系统(10、98),所述系统(10、98)包括总线时钟信号,其是控制与在所述数据总线(80)上传输数据相关联的定时的系统时钟信号的拷贝;数据时钟信号,其设计为超前于所述系统时钟信号部分时钟周期,以在所述总线时钟信号之前将数据驱动到所述数据总线(80)上;输出锁存器件(14、30),其响应于所述数据时钟信号的边沿将数据驱动到所述数据总线上;以及偏斜校正器(18),其在所述数据时钟滞后于所述总线时钟的情况下减轻所述数据总线上的数据竞争。
2.如权利要求1所述的系统(10、98),其中所述输出锁存器件(14、30)包括多个主从锁存器,每个主从锁存器具有主部分(34)和从部分(38),所述偏斜校正器(18)产生允许在所述总线时钟信号和所述数据时钟信号都处于同一预定状态时数据从所述主部分(34)的输入端传送到所述从部分(38)的输入端的主时钟,并且所述从部分(38)响应于所述数据时钟信号的边沿将数据驱动到所述数据总线(80)上。
3.如权利要求2所述的系统(10、98),其中所述偏斜校正器(18)是至少一个“或非”门(40),所述“或非”门接收所述数据时钟信号作为第一输入信号并接收所述总线时钟信号作为第二输入信号,并且基于所述总线时钟信号和所述数据时钟信号的状态产生所述主时钟。
4.如权利要求2所述的系统(10、98),其中所述主部分(34)包括具有连接到所述主时钟的启动线的第一传输门(34),并且所述从部分(38)包括具有连接到所述数据时钟信号的启动线的第二传输门(38)。
5.如权利要求1所述的系统(10、98),还包括内部锁存器件(12),所述内部锁存器件基于所述总线时钟信号的边沿接收数据,并将数据提供给所述输出锁存器件(14)。
6.如权利要求1所述的系统(10、98),还包括多个输出驱动器(16),所述输出驱动器接收来自所述输出锁存器件(14、30)的数据,并将所述数据驱动到所述数据总线(80)上。
7.一种包括如权利要求1所述的系统(10、98)的总线代理(90),其中所述总线代理(90)将数据驱动到所述数据总线(80)上固有地慢于连接到所述数据总线(80)的至少一个其它总线代理(72、74、76、78、90)。
8.如权利要求1所述的系统(10、98),其中所述总线时钟信号和所述数据时钟信号具有基本相同的频率。
9.一种用于将数据驱动到总线(80)上以补偿固有地较慢总线代理(90)的系统(10、98),所述系统包括用于在系统时钟(70)之前的部分时钟周期将数据驱动到总线(80)上的部件(14);以及用于在所述用于驱动数据的部件(14)在所述系统时钟(70)之后的部分时钟周期驱动数据的情况下减轻偏斜的部件(18、40)。
10.如权利要求9所述的系统(10、98),还包括用于产生与所述系统时钟(70)匹配的总线时钟(92)的部件;用于产生超前于所述系统时钟(70)的数据时钟(94)的部件;并且其中所述用于减轻偏斜的部件(18、40)使所述数据不能驱动到所述总线(80)上,直到所述总线时钟和所述数据时钟处于同一预定状态为止。
全文摘要
公开了用于将数据驱动到总线(80)上的系统(10、98)和方法。系统(10、98)的一个实施例可包括总线时钟信号,其是控制与在数据总线(80)上传输数据相关联的定时的系统时钟信号的拷贝;数据时钟信号,其设计为超前于系统时钟信号部分时钟周期,以在总线时钟信号之前将数据驱动到数据总线(80)上;输出锁存器件(14、30),响应于数据时钟信号的边沿将数据驱动到数据总线(80)上;以及偏斜校正器(18),其在数据时钟信号滞后于总线时钟信号的情况下减轻数据到数据总线(80)上的竞争。
文档编号G06F13/40GK1838097SQ200610074149
公开日2006年9月27日 申请日期2006年3月21日 优先权日2005年3月22日
发明者B·J·阿尔诺德, N·A·米彻尔 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1