TWI690158B - Circuits and techniques for mesochronous processing - Google Patents
Circuits and techniques for mesochronous processing Download PDFInfo
- Publication number
- TWI690158B TWI690158B TW105100483A TW105100483A TWI690158B TW I690158 B TWI690158 B TW I690158B TW 105100483 A TW105100483 A TW 105100483A TW 105100483 A TW105100483 A TW 105100483A TW I690158 B TWI690158 B TW I690158B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock signal
- signal
- processing unit
- differential
- fet
- Prior art date
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
Description
本發明大體上係關於用於同頻異相處理之電路及技術。特定言之,一些實施例係關於在具有時脈信號(其等具有不同相位)之處理單元之間傳送資料。 The present invention generally relates to circuits and techniques for co-frequency and out-of-phase processing. In particular, some embodiments relate to transferring data between processing units with clock signals (which have different phases).
時脈信號可用以協調一電子系統中之組件之間(例如一積體電路(「IC」或「晶片」)中之電路之間或一印刷電路板(PCB)上之晶片之間)的資料傳輸。在一同步系統中,使系統之組件同步於一全系統時脈。組件在全系統時脈之時脈循環期間之一特定時間週期內執行與全系統時脈步調一致之資料處理及傳輸。例如,組件可在時脈信號呈「高態」(例如,具有一供應電壓)時或在時脈信號呈「低態」(例如,具有一參考電壓)時與全系統時脈同步。作為另一實例,組件可在一時脈「邊緣」處(例如,當時脈信號自低態轉變至高態(「上升邊緣」)或自高態轉變至低態(「下降邊緣」)時)與全系統時脈同步。 Clock signals can be used to coordinate data between components in an electronic system (such as between circuits in an integrated circuit (“IC” or “chip”) or between chips on a printed circuit board (PCB)) transmission. In a synchronous system, the components of the system are synchronized to a system-wide clock. The component performs data processing and transmission consistent with the system-wide clock pacing within a specific time period during the clock cycle of the system-wide clock. For example, the component may be synchronized with the system-wide clock when the clock signal is in a "high state" (for example, with a supply voltage) or when the clock signal is in a "low state" (for example, with a reference voltage). As another example, a component may be at the “edge” of a clock (for example, when the clock signal changes from a low state to a high state (“rising edge”) or from a high state to a low state (“falling edge”)) and full The system clock is synchronized.
一鎖存電路可用於儲存資料。例如,一鎖存器可儲存一單一位元(「0」或「1」)或多個位元。資料可經提供至一鎖存器之一輸入以儲存於鎖存器中。儲存於一鎖存器中之資料可自鎖存器之一輸出讀出。一些鎖存器可基於一控制信號之狀態而選擇性地在一啟用(「通透」)狀態或一停用(「保持」)狀態中操作。當鎖存器處於通透狀態中 時,鎖存器準備在輸入處接收新資料,且鎖存器之輸出可操作以反映鎖存器之輸入。當處於通透狀態中時,鎖存器可不準備將資料提供(傳輸)至另一電路,此係因為鎖存器之輸出可能不穩定(例如,取決於輸入資料之狀態)。當鎖存器處於保持狀態中時,先前儲存於鎖存器中之資料係穩定的(例如,準備讀出),且可被傳輸至耦合至鎖存器之輸出之另一電路。若一鎖存器在啟用信號呈高態時進入保持狀態,則鎖存器執行「正鎖存」。若一鎖存器在啟用信號呈低態時進入保持狀態,則鎖存器執行「負鎖存」。 A latch circuit can be used to store data. For example, a latch can store a single bit ("0" or "1") or multiple bits. The data can be provided to an input of a latch to be stored in the latch. The data stored in a latch can be read from an output of the latch. Some latches can be selectively operated in an enabled ("passthrough") state or a disabled ("hold") state based on the state of a control signal. When the latch is in the transparent state At this time, the latch is ready to receive new data at the input, and the output of the latch is operable to reflect the input of the latch. When in the transparent state, the latch may not be ready to provide (transmit) data to another circuit, because the output of the latch may be unstable (eg, depending on the state of the input data). When the latch is in the hold state, the data previously stored in the latch is stable (eg, ready to be read) and can be transferred to another circuit coupled to the output of the latch. If a latch enters the hold state when the enable signal is high, the latch performs "positive latch". If a latch enters the hold state when the enable signal is low, the latch performs "negative latch".
根據本發明之一態樣,提供一種包含複數個處理單元之積體電路。該等處理單元可操作以使各自處理同步於複數個各自同頻異相時脈信號。該等同頻異相時脈信號包含一第一時脈信號及一第二時脈信號。該第一時脈信號及該第二時脈信號具有一相同頻率及各自不同相位。該等處理單元包含可操作以使處理同步於該第一時脈信號之一第一處理單元及可操作以使處理同步於該第二時脈信號之一第二處理單元。該第二處理單元包含經耦合以自該第一處理單元接收資料之一鎖存電路。該鎖存電路經組態以基於該第一時脈信號及該第二時脈信號之狀態而操作。 According to one aspect of the present invention, an integrated circuit including a plurality of processing units is provided. The processing units are operable to synchronize their processing with a plurality of clock signals of the same frequency and out of phase. The equivalent frequency out-of-phase clock signal includes a first clock signal and a second clock signal. The first clock signal and the second clock signal have the same frequency and different phases. The processing units include a first processing unit operable to synchronize processing with the first clock signal and a second processing unit operable to synchronize processing with the second clock signal. The second processing unit includes a latch circuit coupled to receive data from the first processing unit. The latch circuit is configured to operate based on the state of the first clock signal and the second clock signal.
在一些實施例中,該第一處理單元包含經耦合以將該資料提供至該第二處理單元之該鎖存電路的一鎖存電路。在一些實施例中,該第二處理單元之該鎖存電路經組態以至少部分基於該第一處理單元之該鎖存電路處於一保持狀態中而在一通透狀態中操作。在一些實施例中,該第二處理單元之該鎖存電路經組態以至少部分基於該第一處理單元之該鎖存電路處於一保持狀態中且該第二時脈信號表示一特定邏輯值而在一通透狀態中操作。在一些實施例中,該第二處理單元之該鎖存電路經組態以至少部分基於該第一處理單元之該鎖存電路處於一 通透狀態中及/或該第二時脈信號表示不同於該特定邏輯值之一邏輯值而在一保持狀態中操作。 In some embodiments, the first processing unit includes a latch circuit coupled to provide the data to the latch circuit of the second processing unit. In some embodiments, the latch circuit of the second processing unit is configured to operate in a transparent state based at least in part on the latch circuit of the first processing unit being in a holding state. In some embodiments, the latch circuit of the second processing unit is configured to be based at least in part on that the latch circuit of the first processing unit is in a holding state and the second clock signal represents a specific logic value And operate in a transparent state. In some embodiments, the latch circuit of the second processing unit is configured to be based at least in part on the latch circuit of the first processing unit In the transparent state and/or the second clock signal indicates a logic value different from the specific logic value and operates in a holding state.
在一些實施例中,該第一處理單元之該鎖存電路經組態以基於該第一時脈信號表示一特定邏輯值而在一保持狀態中操作,且該第二處理單元之該鎖存電路經組態以至少部分基於該第一時脈信號表示該特定邏輯值而在一通透狀態中操作。在一些實施例中,該第一處理單元之該鎖存電路經組態以基於該第一時脈信號表示一第一邏輯值而在一保持狀態中操作,且該第二處理單元之該鎖存電路經組態以至少部分基於該第一時脈信號表示該第一邏輯值且該第二時脈信號表示一第二邏輯值而在一通透狀態中操作。在一些實施例中,該第二處理單元之該鎖存電路經組態以至少部分基於該第一時脈信號表示不同於該第一邏輯值之一邏輯值及/或該第二時脈信號表示不同於該第二邏輯值之一邏輯值而在一保持狀態中操作。 In some embodiments, the latch circuit of the first processing unit is configured to operate in a hold state based on the first clock signal representing a specific logic value, and the latch of the second processing unit The circuit is configured to operate in a transparent state based at least in part on the first clock signal representing the specific logic value. In some embodiments, the latch circuit of the first processing unit is configured to operate in a hold state based on the first clock signal representing a first logic value, and the latch of the second processing unit The memory circuit is configured to operate in a transparent state based at least in part on the first clock signal representing the first logic value and the second clock signal representing a second logic value. In some embodiments, the latch circuit of the second processing unit is configured to represent a logic value different from the first logic value and/or the second clock signal based at least in part on the first clock signal It means that a logic value different from the second logic value operates in a holding state.
在一些實施例中,該第一時脈信號係一第一單端時脈信號,且該第二時脈信號係一第二單端時脈信號。在一些實施例中,該鎖存電路包含具有一輸入資料端子、一啟用端子及一或多個輸出端子之一閘控鎖存器,其中該輸入資料端子經組態以自該第一處理單元接收資料,且其中該啟用端子經組態以接收該第一單端時脈信號與該第二單端時脈信號之一反相之一邏輯「及」。 In some embodiments, the first clock signal is a first single-ended clock signal, and the second clock signal is a second single-ended clock signal. In some embodiments, the latch circuit includes a gated latch having an input data terminal, an enable terminal, and one or more output terminals, wherein the input data terminal is configured to be removed from the first processing unit Receiving data, and wherein the enable terminal is configured to receive a logical AND of an inverse of one of the first single-ended clock signal and the second single-ended clock signal.
在一些實施例中,該第一時脈信號係包含一第一差動信號對之一第一差動時脈信號,且該第二時脈信號係包含一第二差動信號對之一第二差動時脈信號。在一些實施例中,該鎖存電路包含一輸入電路及一緩衝電路,且該輸入電路包含一第一類型之複數個第一場效電晶體(FET),其等包含具有串聯地耦合於一第一電源供應軌與該緩衝電路之一輸入節點之間的擴散端子之第一FET、第二FET及第三FET。在一些實施例中,該鎖存電路進一步包含一第二類型之複數個第二場 效電晶體(FET),其等包含具有串聯地耦合於一第二電源供應軌與該緩衝電路之該輸入節點之間的擴散端子之第四FET、第五FET及第六FET。在一些實施例中,該第一FET及該第四FET之閘極經耦合以自該第一處理電路接收該資料。在一些實施例中,該第二FET及該第五FET之閘極經耦合以分別接收該第一差動信號對之第一信號及第二信號。在一些實施例中,該第三FET及該第六FET之閘極經耦合以分別接收該第二差動信號對之第一信號及第二信號。在一些實施例中,該緩衝電路包含至少一反相器,其具有耦合至該緩衝電路之該輸入節點之一輸入端子及耦合至該鎖存電路之一輸出端子之一輸出端子。 In some embodiments, the first clock signal includes a first differential clock signal of a first differential signal pair, and the second clock signal includes a first differential signal of a second differential signal pair Two differential clock signals. In some embodiments, the latch circuit includes an input circuit and a buffer circuit, and the input circuit includes a plurality of first field effect transistors (FETs) of a first type, etc. The first FET, the second FET, and the third FET of the diffusion terminal between the first power supply rail and an input node of the buffer circuit. In some embodiments, the latch circuit further includes a plurality of second fields of a second type An effective transistor (FET), etc., includes a fourth FET, a fifth FET, and a sixth FET having a diffusion terminal coupled in series between a second power supply rail and the input node of the buffer circuit. In some embodiments, the gates of the first FET and the fourth FET are coupled to receive the data from the first processing circuit. In some embodiments, the gates of the second FET and the fifth FET are coupled to receive the first signal and the second signal of the first differential signal pair, respectively. In some embodiments, the gates of the third FET and the sixth FET are coupled to receive the first signal and the second signal of the second differential signal pair, respectively. In some embodiments, the buffer circuit includes at least one inverter having an input terminal coupled to the input node of the buffer circuit and an output terminal coupled to an output terminal of the latch circuit.
在一些實施例中,該積體電路進一步包含一差動時脈緩衝器,其具有經耦合以接收該第一差動時脈信號之該第一差動信號對之輸入端子,其中該差動時脈緩衝器可操作以提供該第二差動時脈信號之該第二差動信號對,且其中該差動時脈緩衝器可操作以回應於該第一差動信號對之一第一信號之一轉變及該第一差動信號對之一第二信號之一互補轉變而設定該第二差動信號對之一邏輯值來匹配該第一差動信號對之一邏輯值。 In some embodiments, the integrated circuit further includes a differential clock buffer having an input terminal of the first differential signal pair coupled to receive the first differential clock signal, wherein the differential The clock buffer is operable to provide the second differential signal pair of the second differential clock signal, and wherein the differential clock buffer is operable in response to a first of the first differential signal pair A signal transition and a complementary transition of a second signal of the first differential signal pair set a logical value of the second differential signal pair to match a logical value of the first differential signal pair.
在一些實施例中,該積體電路包含一處理節點,其中該處理節點包含該複數個處理單元、一控制單元及一匯流排,且其中該等處理單元藉由該匯流排而通信地耦合至該控制單元。在一些實施例中,該控制單元可操作以經由該匯流排而將運算元資料傳輸至該等處理單元。在一些實施例中,該等處理單元可操作以經由該匯流排而將結果資料傳輸至該控制單元。在一些實施例中,該積體電路包含複數個處理節點,其等包含該處理節點。在一些實施例中,該等處理節點執行比特幣探勘操作。 In some embodiments, the integrated circuit includes a processing node, wherein the processing node includes the plurality of processing units, a control unit, and a bus, and wherein the processing units are communicatively coupled to the bus by the bus The control unit. In some embodiments, the control unit is operable to transmit arithmetic data to the processing units via the bus. In some embodiments, the processing units are operable to transmit the result data to the control unit via the bus. In some embodiments, the integrated circuit includes a plurality of processing nodes, and the like includes the processing node. In some embodiments, the processing nodes perform bitcoin exploration operations.
根據本發明之另一態樣,提供一種包含一緩衝電路及一輸入電路之鎖存電路。該緩衝電路具有一輸入節點及一輸出節點。該輸入電 路具有:一輸出節點,其耦合至該緩衝電路之該輸入節點;一資料節點,其經耦合以接收一輸入資料信號;及第一啟用節點及第二啟用節點,其等經耦合以分別接收第一處理單元及第二處理單元之各自第一同頻異相時脈信號及第二同頻異相時脈信號。該第一時脈信號及該第二時脈信號具有一相同頻率及各自不同相位。該輸入電路可操作以基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用該鎖存電路。 According to another aspect of the present invention, a latch circuit including a buffer circuit and an input circuit is provided. The buffer circuit has an input node and an output node. The input The road has: an output node, which is coupled to the input node of the buffer circuit; a data node, which is coupled to receive an input data signal; and a first enabling node and a second enabling node, which are coupled to receive separately The respective first in-frequency out-of-phase clock signal and second in-frequency out-of-phase clock signal of the first processing unit and the second processing unit. The first clock signal and the second clock signal have the same frequency and different phases. The input circuit is operable to activate the latch circuit based on the state of the first in-frequency out-of-phase clock signal and the second in-frequency out-of-phase clock signal.
在一些實施例中,該資料節點經耦合以自該第一處理單元之一輸出鎖存器接收該輸入資料信號。在一些實施例中,該輸入電路經組態以至少部分基於該輸出鎖存器處於一停用狀態中而啟用該鎖存電路。在一些實施例中,該輸入電路經組態以至少部分基於該輸出鎖存器處於一停用狀態中且該第二時脈信號表示一特定邏輯值而啟用該鎖存電路。在一些實施例中,該輸入電路經組態以至少部分基於該輸出鎖存器處於一啟用狀態中及/或該第二時脈信號表示不同於該特定邏輯值之一邏輯值而停用該鎖存電路。 In some embodiments, the data node is coupled to receive the input data signal from an output latch of the first processing unit. In some embodiments, the input circuit is configured to enable the latch circuit based at least in part on the output latch being in a disabled state. In some embodiments, the input circuit is configured to enable the latch circuit based at least in part on the output latch being in a disabled state and the second clock signal representing a specific logic value. In some embodiments, the input circuit is configured to deactivate the input latch based at least in part on the output latch being in an enabled state and/or the second clock signal representing a logic value different from the specific logic value Latch the circuit.
在一些實施例中,該輸出鎖存器經組態以基於該第一時脈信號表示一特定邏輯值而在一停用狀態中操作,且該輸入電路經組態以至少部分基於該第一時脈信號表示該特定邏輯值而啟用該鎖存電路。在一些實施例中,該輸出鎖存器經組態以基於該第一時脈信號表示一第一邏輯值而在一停用狀態中操作,且該輸入電路經組態以至少部分基於該第一時脈信號表示該第一邏輯值且該第二時脈信號表示一第二邏輯值而啟用該鎖存電路。在一些實施例中,該輸入電路經組態以至少部分基於該第一時脈信號表示不同於該第一邏輯值之一邏輯值及/或該第二時脈信號表示不同於該第二邏輯值之一邏輯值而停用該鎖存電路。 In some embodiments, the output latch is configured to operate in a disabled state based on the first clock signal representing a specific logic value, and the input circuit is configured to be based at least in part on the first The clock signal indicates the specific logic value and enables the latch circuit. In some embodiments, the output latch is configured to operate in a disabled state based on the first clock signal representing a first logic value, and the input circuit is configured to be based at least in part on the first A clock signal indicates the first logic value and the second clock signal indicates a second logic value to enable the latch circuit. In some embodiments, the input circuit is configured to represent a logic value different from the first logic value based on the first clock signal and/or the second clock signal represents a different logic from the second logic A logic value of the value disables the latch circuit.
在一些實施例中,該第一時脈信號係包含一第一差動信號對之 一第一差動時脈信號,且該第二時脈信號係包含一第二差動信號對之一第二差動時脈信號。在一些實施例中,該輸入電路包含一第一類型之複數個第一場效電晶體(FET),其等包含具有串聯地耦合於一第一電源供應軌與該緩衝電路之該輸入節點之間的擴散端子之第一FET、第二FET及第三FET。在一些實施例中,該輸入電路進一步包含一第二類型之複數個第二場效電晶體(FET),其等包含具有串聯地耦合於一第二電源供應軌與該緩衝電路之該輸入節點之間的擴散端子之第四FET、第五FET及第六FET。在一些實施例中,該第一FET及該第四FET之閘極經耦合以接收該輸入資料信號。在一些實施例中,該第二FET及該第五FET之閘極經耦合以分別接收該第一差動信號對之第一信號及第二信號。在一些實施例中,該第三FET及該第六FET之閘極經耦合以分別接收該第二差動信號對之第一信號及第二信號。在一些實施例中,該緩衝電路包含至少一反相器,其具有耦合至該緩衝電路之該輸入節點之一輸入端子及耦合至該緩衝電路之該輸出節點之一輸出端子。 In some embodiments, the first clock signal includes a first differential signal pair A first differential clock signal, and the second clock signal includes a second differential clock signal of a second differential signal pair. In some embodiments, the input circuit includes a plurality of first field effect transistors (FETs) of a first type, etc., which include an input node coupled in series to a first power supply rail and the buffer circuit The first FET, the second FET and the third FET of the diffusion terminal between them. In some embodiments, the input circuit further includes a plurality of second field effect transistors (FETs) of a second type, which includes the input node having a second power supply rail and the buffer circuit coupled in series The fourth FET, the fifth FET and the sixth FET of the diffusion terminal between. In some embodiments, the gates of the first FET and the fourth FET are coupled to receive the input data signal. In some embodiments, the gates of the second FET and the fifth FET are coupled to receive the first signal and the second signal of the first differential signal pair, respectively. In some embodiments, the gates of the third FET and the sixth FET are coupled to receive the first signal and the second signal of the second differential signal pair, respectively. In some embodiments, the buffer circuit includes at least one inverter having an input terminal coupled to the input node of the buffer circuit and an output terminal coupled to the output node of the buffer circuit.
根據本發明之又一態樣,提供一種用於一同頻異相時控系統之通信方法。該方法包含:使第一處理單元及第二處理單元之處理分別同步於第一同頻異相時脈信號及第二同頻異相時脈信號,該第一同頻異相時脈信號及該第二同頻異相時脈信號具有一相同頻率及各自不同相位。該方法進一步包含:將資料自該第一處理單元發送至該第二處理單元。該方法進一步包含:至少部分基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用或停用由該第二處理單元接收該資料。 According to yet another aspect of the present invention, a communication method for a co-frequency out-of-phase time control system is provided. The method includes: synchronizing the processing of the first processing unit and the second processing unit to the first in-frequency out-of-phase clock signal and the second in-frequency out-of-phase clock signal, the first in-frequency out-of-phase clock signal and the second The same frequency and different phase clock signals have the same frequency and different phases. The method further includes sending data from the first processing unit to the second processing unit. The method further includes: enabling or disabling the second processing unit to receive the data based at least in part on the status of the first in-frequency out-of-phase clock signal and the second in-frequency out-of-phase clock signal.
在一些實施例中,基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用或停用由該第二處理單元接收該資料包含:至少部分基於該第一處理單元之一輸出鎖存器被停用而啟用由該 第二處理單元接收該資料。在一些實施例中,基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用或停用由該第二處理單元接收該資料包含:至少部分基於該第一處理單元之一輸出鎖存器被停用且該第二時脈信號表示一特定邏輯值而啟用由該第二處理單元接收該資料。在一些實施例中,基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用或停用由該第二處理單元接收該資料進一步包含:至少部分基於該第一處理單元之該輸出鎖存器處於一啟用狀態中及/或該第二時脈信號表示不同於該特定邏輯值之一邏輯值而停用由該第二處理單元接收該資料。 In some embodiments, enabling or disabling receipt of the data by the second processing unit based on the states of the first in-frequency out-of-phase clock signal and the second in-frequency out-of-phase clock signal includes: based at least in part on the first One of the output latches of the processing unit is disabled and enabled by the The second processing unit receives the data. In some embodiments, enabling or disabling receipt of the data by the second processing unit based on the states of the first in-frequency out-of-phase clock signal and the second in-frequency out-of-phase clock signal includes: based at least in part on the first One of the output latches of the processing unit is disabled and the second clock signal represents a specific logic value to enable the second processing unit to receive the data. In some embodiments, enabling or disabling receiving the data by the second processing unit based on the states of the first in-frequency out-of-phase clock signal and the second in-frequency out-of-phase clock signal further includes: based at least in part on the first The output latch of a processing unit is in an enabled state and/or the second clock signal indicates a logic value different from the specific logic value to disable reception of the data by the second processing unit.
在一些實施例中,該方法進一步包含基於該第一時脈信號表示一特定邏輯值而停用該第一處理單元之一輸出鎖存器,其中基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用或停用由該第二處理單元接收該資料包含:至少部分基於該第一時脈信號表示該特定邏輯值而啟用由該第二處理單元接收該資料。在一些實施例中,該方法進一步包含基於該第一時脈信號表示一第一邏輯值而停用該第一處理單元之一輸出鎖存器,其中基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用或停用由該第二處理單元接收該資料包含:至少部分基於該第一時脈信號表示該第一邏輯值且該第二時脈信號表示一第二邏輯值而啟用由該第二處理單元接收該資料。在一些實施例中,基於該第一同頻異相時脈信號及該第二同頻異相時脈信號之狀態而啟用或停用由該第二處理單元接收該資料進一步包含:至少部分基於該第一時脈信號表示不同於該第一邏輯值之一邏輯值及/或該第二時脈信號表示不同於該第二邏輯值之一邏輯值而停用由該第二處理單元接收該資料。 In some embodiments, the method further includes disabling an output latch of the first processing unit based on the first clock signal representing a specific logic value, wherein based on the first in-frequency out-of-phase clock signal and the Enabling or disabling the second processing unit to receive the data by the state of the second in-phase out-of-phase clock signal includes: enabling the second processing unit to receive the data based at least in part on the first clock signal representing the specific logic value data. In some embodiments, the method further includes disabling an output latch of the first processing unit based on the first clock signal representing a first logic value, wherein based on the first in-frequency out-of-phase clock signal and Enabling or disabling the state of the second in-phase out-of-phase clock signal to enable or disable receiving the data by the second processing unit includes: at least partially based on the first clock signal representing the first logical value and the second clock signal representing A second logic value enables the second processing unit to receive the data. In some embodiments, enabling or disabling receiving the data by the second processing unit based on the states of the first in-frequency out-of-phase clock signal and the second in-frequency out-of-phase clock signal further includes: based at least in part on the first A clock signal indicates a logical value different from the first logical value and/or the second clock signal indicates a logical value different from the second logical value to disable reception of the data by the second processing unit.
在一些實施例中,該第一同頻異相時脈信號係包含一第一差動信號對之一第一差動時脈信號,且該第二同頻異相時脈信號係包含一 第二差動信號對之一第二差動時脈信號。在一些實施例中,該方法進一步包含產生該第二差動時脈信號之該第二差動信號對,其包含:回應於該第一差動信號對之一第一信號之一轉變及該第一差動信號對之一第二信號之一互補轉變而設定該第二差動信號對之一邏輯值來匹配該第一差動信號對之一邏輯值。 In some embodiments, the first in-frequency out-of-phase clock signal includes a first differential clock signal of a first differential signal pair, and the second in-frequency out-of-phase clock signal includes a One of the second differential signal pair is the second differential clock signal. In some embodiments, the method further includes generating the second differential signal pair of the second differential clock signal, which includes: in response to a transition of a first signal of one of the first differential signal pair and the A complementary transition of one of the second differential signal pair and a second signal sets a logical value of the second differential signal pair to match a logical value of the first differential signal pair.
根據本發明之又一態樣,提供一種電腦實施電子設計自動化方法。該方法包含:合成一同頻異相系統之一部分之一電路示意圖。該同頻異相系統包含可操作以使各自處理同步於複數個各自同頻異相時脈信號之複數個處理單元。該等同頻異相時脈信號包含具有一相同頻率及各自不同相位之第一時脈信號及第二時脈信號。該等處理單元包含可操作以使處理同步於該第一時脈信號之一第一處理單元及可操作以使處理同步於該第二時脈信號之一第二處理單元。該第二處理單元經耦合以自該第一處理單元接收資料。合成該電路示意圖包含:產生該第二處理單元之一鎖存電路之一示意圖。該鎖存電路經耦合以自該第一處理單元接收資料且經組態以基於該第一時脈信號及該第二時脈信號之狀態而操作。 According to another aspect of the present invention, a computer-implemented electronic design automation method is provided. The method includes: synthesizing a circuit schematic diagram of a part of the same frequency out-of-phase system. The in-frequency out-of-phase system includes a plurality of processing units operable to synchronize respective processing with a plurality of out-of-phase clock signals in the same frequency. The equivalent frequency out-of-phase clock signal includes a first clock signal and a second clock signal having the same frequency and different phases. The processing units include a first processing unit operable to synchronize processing with the first clock signal and a second processing unit operable to synchronize processing with the second clock signal. The second processing unit is coupled to receive data from the first processing unit. Synthesizing the circuit schematic diagram includes generating a schematic diagram of a latch circuit of the second processing unit. The latch circuit is coupled to receive data from the first processing unit and is configured to operate based on the state of the first clock signal and the second clock signal.
在一些實施例中,該方法進一步包含由一電腦模擬該電路示意圖之操作,其包含模擬該鎖存電路之操作。在一些實施例中,該方法進一步包含:由一電腦產生該電路示意圖之一實體布局。在一些實施例中,該方法進一步包含:由一電腦產生用於製造包含該鎖存電路之一積體電路之複數個遮罩圖案。 In some embodiments, the method further includes simulating the operation of the circuit diagram by a computer, which includes simulating the operation of the latch circuit. In some embodiments, the method further includes: generating a physical layout of the circuit diagram from a computer. In some embodiments, the method further includes: generating, by a computer, a plurality of mask patterns for manufacturing an integrated circuit including the latch circuit.
將自下列圖式、詳細描述及技術方案明白一些實施例之其他態樣及優點,該等圖式、詳細描述及技術方案全部僅依舉例方式繪示一些實施例之原理。 Other aspects and advantages of some embodiments will be understood from the following drawings, detailed descriptions, and technical solutions. The drawings, detailed descriptions, and technical solutions all illustrate the principles of some embodiments by way of example only.
100‧‧‧同頻異相系統 100‧‧‧ same frequency out of phase system
101‧‧‧輸入資料端子 101‧‧‧Input data terminal
105‧‧‧輸出資料端子 105‧‧‧Output data terminal
110a‧‧‧傳輸處理單元 110a‧‧‧Transmission processing unit
110b‧‧‧接收處理單元 110b‧‧‧Reception processing unit
120a‧‧‧時脈信號 120a‧‧‧clock signal
120b‧‧‧時脈信號 120b‧‧‧clock signal
130‧‧‧輸入鎖存器 130‧‧‧input latch
130a‧‧‧輸入鎖存器 130a‧‧‧input latch
130b‧‧‧輸入鎖存器 130b‧‧‧input latch
130c‧‧‧輸入鎖存器 130c‧‧‧input latch
130d‧‧‧輸入鎖存器 130d‧‧‧input latch
130s‧‧‧輸入鎖存器 130s‧‧‧input latch
132‧‧‧輸入資料端子 132‧‧‧Input data terminal
134‧‧‧輸出資料端子 134‧‧‧Output data terminal
136‧‧‧啟用端子 136‧‧‧Enable terminal
138‧‧‧啟用端子 138‧‧‧Enable terminal
140a‧‧‧處理電路 140a‧‧‧processing circuit
140b‧‧‧處理電路 140b‧‧‧processing circuit
140c‧‧‧處理電路 140c‧‧‧processing circuit
150‧‧‧輸出鎖存器 150‧‧‧Output latch
150a‧‧‧輸出鎖存器 150a‧‧‧output latch
150b‧‧‧輸出鎖存器 150b‧‧‧output latch
150c‧‧‧輸出鎖存器 150c‧‧‧output latch
152‧‧‧輸入資料端子 152‧‧‧Input data terminal
154‧‧‧輸出資料端子 154‧‧‧Output data terminal
156‧‧‧啟用端子 156‧‧‧Enable terminal
200‧‧‧時序圖 200‧‧‧Timing chart
201‧‧‧時期 201‧‧‧ period
202‧‧‧時期 202‧‧‧ period
203‧‧‧時期 203‧‧‧ period
204‧‧‧延遲 204‧‧‧ Delay
250‧‧‧時序圖 250‧‧‧Timing chart
251‧‧‧時期 251‧‧‧ period
252‧‧‧時期 252‧‧‧ period
253‧‧‧時期 253‧‧‧ period
254‧‧‧延遲/相位差 254‧‧‧delay/phase difference
310‧‧‧資料輸入端子 310‧‧‧Data input terminal
312‧‧‧啟用端子 312‧‧‧Enable terminal
321‧‧‧「反或」閘 321‧‧‧ "Reverse OR" gate
322‧‧‧「反或」閘 322‧‧‧ "Reverse OR" gate
330‧‧‧資料輸出端子 330‧‧‧Data output terminal
332‧‧‧資料輸出端子 332‧‧‧Data output terminal
440‧‧‧輸入節點/內部節點 440‧‧‧ input node/internal node
500‧‧‧差動信號轉發器 500‧‧‧Differential signal repeater
502‧‧‧輸入端子 502‧‧‧Input terminal
504‧‧‧輸入端子 504‧‧‧Input terminal
506a‧‧‧輸出端子 506a‧‧‧Output terminal
506b‧‧‧輸出端子 506b‧‧‧Output terminal
600‧‧‧處理單元鏈 600‧‧‧Processing unit chain
601a‧‧‧經處理資料/輸出資料 601a‧‧‧processed data/output data
603‧‧‧輸入資料 603‧‧‧Enter data
610‧‧‧處理單元 610‧‧‧ processing unit
610a‧‧‧第一處理單元 610a‧‧‧First processing unit
610b‧‧‧第二處理單元 610b‧‧‧second processing unit
610c‧‧‧處理單元 610c‧‧‧ processing unit
620a‧‧‧時脈信號 620a‧‧‧clock signal
620b‧‧‧時脈信號 620b‧‧‧clock signal
620c‧‧‧時脈信號 620c‧‧‧clock signal
623‧‧‧時脈信號 623‧‧‧clock signal
630a‧‧‧時脈緩衝器 630a‧‧‧clock buffer
630b‧‧‧時脈緩衝器 630b‧‧‧clock buffer
630c‧‧‧時脈緩衝器 630c‧‧‧clock buffer
700‧‧‧同頻異相系統 700‧‧‧ same frequency out of phase system
701‧‧‧輸入資料 701‧‧‧Enter data
702‧‧‧時脈信號 702‧‧‧clock signal
703‧‧‧輸出資料 703‧‧‧ Output data
710‧‧‧控制單元 710‧‧‧Control unit
720a‧‧‧處理節點 720a‧‧‧processing node
720b‧‧‧處理節點 720b‧‧‧processing node
720c‧‧‧處理節點 720c‧‧‧processing node
720x‧‧‧處理節點 720x‧‧‧ processing node
730a‧‧‧通信單元 730a‧‧‧Communication unit
730b‧‧‧通信單元 730b‧‧‧Communication unit
730c‧‧‧通信單元 730c‧‧‧Communication unit
730x‧‧‧通信單元 730x‧‧‧Communication unit
800‧‧‧電子設計自動化(EDA)工具 800‧‧‧ Electronic Design Automation (EDA) tool
810‧‧‧設計模組 810‧‧‧Design Module
820‧‧‧驗證模組 820‧‧‧Verification module
830‧‧‧製造模組 830‧‧‧Manufacture module
900‧‧‧電腦 900‧‧‧Computer
902‧‧‧處理器 902‧‧‧ processor
904‧‧‧記憶體裝置 904‧‧‧Memory device
D‧‧‧輸入資料 D‧‧‧Enter data
E‧‧‧信號 E‧‧‧Signal
M1‧‧‧p型金屬氧化物半導體場效電晶體(MOSFET) M1‧‧‧p-type metal oxide semiconductor field effect transistor (MOSFET)
M2‧‧‧p型金屬氧化物半導體場效電晶體(MOSFET) M2‧‧‧p-type metal oxide semiconductor field effect transistor (MOSFET)
M3‧‧‧p型金屬氧化物半導體場效電晶體(MOSFET) M3‧‧‧p-type metal oxide semiconductor field effect transistor (MOSFET)
M4‧‧‧n型金屬氧化物半導體場效電晶體(MOSFET) M4‧‧‧n-type metal oxide semiconductor field effect transistor (MOSFET)
M5‧‧‧n型金屬氧化物半導體場效電晶體(MOSFET) M5‧‧‧n-type metal oxide semiconductor field effect transistor (MOSFET)
M6‧‧‧n型金屬氧化物半導體場效電晶體(MOSFET) M6‧‧‧n-type metal oxide semiconductor field effect transistor (MOSFET)
M11‧‧‧場效電晶體(FET) M11‧‧‧Field Effect Transistor (FET)
M12‧‧‧場效電晶體(FET) M12‧‧‧Field Effect Transistor (FET)
Q‧‧‧資料輸出 Q‧‧‧Data output
可藉由參考結合附圖之下列描述而理解一些實施例之某些優 點。在圖式中,相同元件符號一般係指所有不同視圖中之相同部件。此外,圖式未必按比例繪製,而是一般將重點放在繪示本發明之一些實施例之原理。 Some advantages of some embodiments can be understood by referring to the following description in conjunction with the accompanying drawings point. In the drawings, the same element symbols generally refer to the same parts in all different views. In addition, the drawings are not necessarily drawn to scale, but generally focus on illustrating the principles of some embodiments of the present invention.
圖1係根據一些實施例之一同頻異相系統之一方塊圖。 FIG. 1 is a block diagram of an in-frequency out-of-phase system according to some embodiments.
圖2A係根據一些實施例之具有一單端時脈信號之一同頻異相系統之一時序圖之一實例。 2A is an example of a timing diagram of an in-frequency out-of-phase system with a single-ended clock signal according to some embodiments.
圖2B係根據一些實施例之具有差動時脈信號之一同頻異相系統之一時序圖之一實例。 2B is an example of a timing diagram of an in-frequency out-of-phase system with a differential clock signal according to some embodiments.
圖3係根據一些實施例之具有同頻異相單端時脈信號之一系統之一處理單元之一輸入鎖存器之一示意圖。 3 is a schematic diagram of an input latch of a processing unit of a system with a single-end clock signal of the same frequency and out of phase according to some embodiments.
圖4係根據一些實施例之具有同頻異相差動時脈信號之一系統之一處理單元之一輸入鎖存器之一示意圖。 4 is a schematic diagram of an input latch of a processing unit of a system having a differential clock signal of the same frequency but out of phase according to some embodiments.
圖5係根據一些實施例之一差動信號轉發器之一方塊圖。 FIG. 5 is a block diagram of a differential signal repeater according to some embodiments.
圖6係根據一些實施例之處理單元之一鏈之一方塊圖。 6 is a block diagram of a chain of processing units according to some embodiments.
圖7係根據一些實施例之另一同頻異相系統之一方塊圖。 7 is a block diagram of another co-frequency out-of-phase system according to some embodiments.
圖8係根據一些實施例之一電子設計自動化(EDA)工具之一方塊圖。 8 is a block diagram of an electronic design automation (EDA) tool according to some embodiments.
圖9係根據一些實施例之一電腦之一方塊圖。 9 is a block diagram of a computer according to some embodiments.
在一些情況中,同頻異相處理可提供相較於同步處理之優點。如上文所描述,使一同步系統中之處理單元同步於一全系統時脈,使得該等處理單元執行與該時脈步調一致之資料處理及傳輸操作。由於使不同處理單元同步於相同時脈信號,所以處理單元一般可使用同步於共用時脈之習知鎖存器來交換資料。然而,由一同步系統汲取之電流會在全系統時脈之時脈循環期間之某些點處(例如,對於同步於上升時脈邊緣之系統,在各時脈循環之上升邊緣處)非常快速地增大。 由系統汲取之電流之此快速變化(「電流尖波」)可致使電磁干擾及/或電源供應雜訊,其會對同步系統(尤其是具有高時脈頻率及/或低電源供應電壓之系統)之操作具有不良影響。此外,在一電流尖波期間汲取之電流之振幅可顯著高於同步系統之平均電流負載,其意謂:系統之電源供應器上之最大負載可遠大於電源供應器上之平均負載。由於一同步系統之電源供應器之設計一般由最大負載而非平均負載判定,所以適應此等電流尖波會顯著增加一同步系統之電源供應器之體積及費用。 In some cases, in-frequency out-of-phase processing may provide advantages over synchronous processing. As described above, synchronizing the processing units in a synchronous system to a system-wide clock allows the processing units to perform data processing and transmission operations consistent with the clock pace. Since different processing units are synchronized to the same clock signal, the processing unit can generally use conventional latches synchronized to a common clock to exchange data. However, the current drawn by a synchronous system will be very fast at certain points during the clock cycle of the whole system clock (for example, for a system synchronized to the rising clock edge, at the rising edge of each clock cycle) To increase. This rapid change in current drawn by the system ("current spike") can cause electromagnetic interference and/or power supply noise, which can affect synchronous systems (especially systems with high clock frequencies and/or low power supply voltages) ) Operation has adverse effects. In addition, the amplitude of the current drawn during a current spike can be significantly higher than the average current load of the synchronous system, which means that the maximum load on the power supply of the system can be much larger than the average load on the power supply. Since the design of the power supply of a synchronous system is generally determined by the maximum load rather than the average load, adapting to these current spikes will significantly increase the size and cost of the power supply of a synchronous system.
相比而言,使一同頻異相系統中之處理單元同步於具有相同頻率及不同相位之同頻異相時脈信號。例如,在一同頻異相系統中,可使處理單元PA及PB分別同步於時脈信號CA及CB之上升邊緣,其中時脈信號CA及CB具有實質上相同頻率,但時脈信號CB之上升邊緣相對於時脈信號CA之上升邊緣偏移。由於由處理單元PA及PB執行之處理及資料傳輸操作經同步以發生於不同時間,所以處理單元之峰值電流負載可發生於不同時間,而非同時發生。因此,一同頻異相系統中之電流負載可比一供比較同步系統之電流負載更均勻地分佈於整個時脈循環上,且與同步系統中之電流尖波相關聯之不良副效應(例如電磁干擾、電源供應雜訊等等)在同頻異相系統中可顯著更小。此外,一同頻異相系統之電源供應器上之最大負載可顯著低於一供比較同步系統之電源供應器上之最大負載,藉此允許同頻異相系統使用一更小及/或更便宜電源供應器。 In contrast, the processing units in the same-frequency out-of-phase system are synchronized to the same-frequency out-of-phase clock signals with the same frequency and different phases. For example, in a system with frequency in-phase, allows the processing unit P A and P B, respectively, in synchronization with the rising edge of the clock signal of the C A and C B, wherein the clock signal C A and C B has substantially the same frequency, but the rising edge of the clock signal C A offset rising edge of clock signal C B respect. Since the processing unit P A and P B performs processing of data transmission and the synchronized operation to occur at different times, the processing unit of the peak current loads may occur at different times, rather than simultaneously. Therefore, the current load in the out-of-phase system of the same frequency can be more evenly distributed over the entire clock cycle than the current load of a synchronous system for comparison, and the adverse side effects (such as electromagnetic interference, Power supply noise, etc.) can be significantly smaller in the same frequency out of phase system. In addition, the maximum load on the power supply of the same frequency out-of-phase system can be significantly lower than the maximum load on a power supply for the comparison synchronous system, thereby allowing the use of a smaller and/or cheaper power supply in the same-frequency out-of-phase system Device.
同頻異相系統之潛在優點不受限於減小電流尖波之副效應。例如,在一同步系統中,全系統時脈之信號可歸因於時脈路徑寄生效應(例如電阻及電容)及延遲以及時脈信號延遲之變動而在系統之不同部分處降級及/或偏斜。使系統之處理單元同步於一經降級或偏斜之全系統時脈信號會減小與時脈同步之系統之組件之裕度。為緩和時脈降 級及偏斜問題,較強驅動器及轉發器可用於全系統時脈。然而,強時脈信號驅動器及轉發器之使用會增加系統之電力消耗及/或致使對系統中之其他信號之電干擾。相比而言,由於同頻異相系統無需分佈一全系統時脈信號,所以此等系統一般不受由時脈偏斜及降級引起之問題影響。因此,一般可依比同步系統之時脈分佈高之效率及比其低之電力消耗實施同頻異相系統之時脈分佈。 The potential advantages of the same frequency out of phase system are not limited to reducing the side effects of current spikes. For example, in a synchronous system, the signal of the whole system clock can be degraded and/or deviated at different parts of the system due to changes in clock path parasitics (such as resistance and capacitance) and delay and changes in the delay of the clock signal oblique. Synchronizing the processing unit of the system to a degraded or skewed system-wide clock signal reduces the margin of components of the system synchronized with the clock. To ease the clock drop For level and skew problems, stronger drivers and transponders can be used for the entire system clock. However, the use of strong clock signal drivers and transponders can increase the power consumption of the system and/or cause electrical interference with other signals in the system. In contrast, since systems of the same frequency and different phases do not need to distribute a whole system of clock signals, these systems are generally not affected by problems caused by clock skew and degradation. Therefore, it is generally possible to implement the clock distribution of the in-frequency and out-of-phase system with higher efficiency and lower power consumption than the clock distribution of the synchronous system.
另一方面,在同步於不同時脈信號之處理單元之間傳送資料會較困難。同頻異相電路一般使用專用資料收發器以在不同時脈域中於處理單元之間傳送資料。此等資料收發器可為較大的、較複雜的、無效率的及/或一重要電力消耗源。因此,需要高效技術以在一同頻異相系統之不同時脈域中於處理單元之間傳送資料。 On the other hand, it is more difficult to transfer data between processing units synchronized to different clock signals. In-frequency out-of-phase circuits generally use dedicated data transceivers to transmit data between processing units in different clock domains. These data transceivers can be larger, more complex, inefficient, and/or an important source of power consumption. Therefore, efficient techniques are needed to transfer data between processing units in different clock domains of the same frequency out-of-phase system.
本發明描述用於在一同頻異相系統之不同時脈域中於處理單元之間高效地傳送資料之技術。一同頻異相系統可包含一處理單元PTX,其使用一輸出鎖存器LTX來將資料傳輸至另一處理單元PRX,處理單元PRX使用一輸入鎖存器LRX來接收該資料。使傳輸處理單元PTX之操作同步於一時脈信號CTX(例如CTX之上升邊緣),且使接收處理單元PRX之操作同步於一時脈信號CRX(例如CRX之上升邊緣)。該等時脈信號具有實質上相同頻率及不同相位。基於時脈信號CTX而控制(啟用/停用)傳輸處理單元PTX之輸出鎖存器LTX,且基於時脈信號CTX及時脈信號CRX之一邏輯組合而控制接收處理單元PRX之輸入鎖存器LRX。 The present invention describes techniques for efficiently transmitting data between processing units in different clock domains of a common frequency out-of-phase system. The on-band out-of-phase system may include a processing unit P TX that uses an output latch L TX to transmit data to another processing unit P RX , and the processing unit P RX uses an input latch L RX to receive the data. Synchronize the operation of the transmission processing unit P TX with a clock signal C TX (such as the rising edge of C TX ), and synchronize the operation of the reception processing unit P RX with a clock signal C RX (such as the rising edge of C RX ). The clock signals have substantially the same frequency and different phases. Based on the clock signal C TX control (enabling / disabling) the transmission processing unit P TX of the output latch L TX, and a logical combination of signals and clock one clock signal C RX C TX control based on the reception processing unit P RX The input latch L RX .
上述技術之一些實施例係有效的,此係因為接收器PRX可基於傳輸器之時脈信號CTX之狀態而判定來自傳輸器PTX之傳入資料是否穩定,因為傳輸器之時脈信號CTX控制傳輸器之輸出鎖存器LTX。例如,若輸出鎖存器LTX係一正鎖存器,則接收器PRX可判定:當傳輸器之時脈信號CTX呈高態時,來自鎖存器LTX之傳入資料係穩定的。另外,在一些實施例中,可藉由使傳輸器之時脈信號CTX與傳輸資料一起自傳 輸單元PTX傳至接收單元PRX而高效且低複雜性地實施上述技術。在一些實施例中,接收處理單元PRX不僅使用傳輸器之時脈信號CTX來判定來自傳輸單元PTX之傳入資料何時穩定,且基於傳輸器之時脈信號CTX而產生其自身時脈信號CRX。 Some embodiments of the above technology are effective because the receiver P RX can determine whether the incoming data from the transmitter P TX is stable based on the state of the transmitter clock signal C TX because the transmitter clock signal C TX controls the output latch L TX of the transmitter. For example, if the output latch L TX is a positive latch, the receiver P RX can determine that when the transmitter's clock signal C TX is high, the incoming data from the latch L TX is stable of. In addition, in some embodiments, the above technique can be implemented efficiently and with low complexity by transmitting the clock signal C TX of the transmitter together with the transmission data from the transmission unit P TX to the reception unit P RX . In some embodiments, the receiving processing unit P RX not only uses the transmitter's clock signal C TX to determine when the incoming data from the transmitting unit P TX is stable, but also generates its own time based on the transmitter's clock signal C TX Pulse signal C RX .
本發明中所描述之標的之特定實施例可經實施以實現上述優點之一或多者。 Particular embodiments of the subject matter described in this disclosure can be implemented to achieve one or more of the above-mentioned advantages.
圖1係一同頻異相系統100之一方塊圖。同頻異相系統100包含一輸入資料端子101及一輸出資料端子105。同頻異相系統100包含一傳輸處理單元110a及一接收處理單元110b。傳輸處理單元110a包含一處理電路140a。接收處理單元110b包含一處理電路140b。使處理電路140a同步於一時脈信號120a(例如時脈信號120a之上升邊緣)。使處理電路140b同步於一時脈信號120b(例如時脈信號120b之上升邊緣)。時脈信號120a及120b可具有實質上相同頻率(例如相等頻率或彼此相差10%內之頻率)及不同相位,如下文將進一步描述。在一些實施例中,時脈信號120之頻率可在約1兆赫茲至約15千兆赫之間或在約10千兆赫至約15千兆赫之間。
FIG. 1 is a block diagram of the same-frequency out-of-
一處理電路140可為處理資料及/或指令之一電路,例如一加法器、一乘法器、一預提取器、一解碼器或一微處理器核心。其他類型之處理單元係可行的。在一些實施例中,一處理電路執行雜湊或一雜湊函數(例如一密碼編譯函數)之操作。密碼編譯雜湊函數之實例包含SHA-2(保全雜湊演算法2)函數,其包含(但不限於)SHA-256及SHA-512。(傳輸處理單元110a之)處理電路140a及(接收處理單元110b之)處理單元電路140b可為相同處理電路或不同類型之處理電路之兩個例項。
A processing circuit 140 may be a circuit for processing data and/or instructions, such as an adder, a multiplier, a pre-fetcher, a decoder, or a microprocessor core. Other types of processing units are feasible. In some embodiments, a processing circuit performs a hash or a hash function (eg, a cryptographic function). Examples of cryptographic hash functions include SHA-2 (conservative hash algorithm 2) functions, which include (but are not limited to) SHA-256 and SHA-512. The
由於使處理單元110a及110b同步於具有不同相位之時脈信號,所以同頻異相系統100使用一多相技術來將資料自傳輸處理單元110a傳
送至接收處理單元110b。多相通信技術由傳輸處理單元110a之輸出鎖存器150及接收處理單元110b之輸入鎖存器130實施。下文參考圖2A至圖2B來描述多相通信技術之一些實施例。
Since the
輸出鎖存器150包含:一輸入資料端子152,其耦合至處理電路140a之一輸出資料端子;一輸出資料端子154,其耦合至接收處理單元110b;及一啟用端子156,其耦合至時脈信號120a。輸入鎖存器130包含:一輸入資料端子132,其耦合至(傳輸處理單元110a之)輸出資料鎖存器150之輸出資料端子154;一輸出資料端子134,其耦合至處理電路140b之一資料輸入端子;一啟用端子136,其耦合至時脈信號120a;及另一啟用端子138,其耦合至時脈信號120b。
The
在同頻異相系統100中,當輸出鎖存器150處於保持狀態中(其基於控制輸出鎖存器150之時脈信號120a之狀態而判定)時,接收處理單元110b自傳輸處理單元110a接收資料。如下文將參考圖2A及圖2B來描述,除非(傳輸處理單元110a之)輸出鎖存器150處於保持狀態中,否則無法啟用接收處理單元110b之輸入鎖存器130來(自傳輸處理單元110a)接收資料。
In the in-frequency out-of-
圖2A係一同頻異相系統100之一時序圖200之一實例,其中時脈信號120a及120b係具有實質上相同頻率及不同相位之單端信號。在圖2A之實例中,時脈信號120b之上升邊緣發生於時脈信號120a之前一上升邊緣之後之一時脈週期之約四分之三處。因此,在圖2A之實例中,時脈信號120b與時脈信號120a之間的相位差近似為一時脈週期之四分之三。
FIG. 2A is an example of a timing diagram 200 of the same-frequency out-of-
如上文所描述,同頻異相系統100包含同步於時脈信號120a之一處理電路140a及同步於時脈信號120b之一處理電路140b。在一些實施例中,使處理電路140a同步於時脈信號120a之上升邊緣,使得處理電路140a與時脈信號120a之上升邊緣步調一致地將輸出資料傳輸至輸出
鎖存器150之輸入資料端子152。在一些實施例中,輸出鎖存器150執行正鎖存,使得當時脈信號120a呈高態(例如時期201)時,輸出鎖存器處於保持狀態中,且當時脈信號120a呈低態(例如時期202)時,輸出鎖存器處於通透狀態中。
As described above, the in-frequency out-of-
在一些實施例中,使處理電路140b同步於時脈信號120b之上升邊緣,使得處理電路140b與時脈信號120b之上升邊緣步調一致地傳輸輸出端子105上之輸出資料(例如,至另一鎖存器)。在一些實施例中,輸入鎖存器130執行負鎖存,使得當鎖存器之啟用條件係「真」時,輸入鎖存器130處於通透狀態中,且當鎖存器之啟用條件係「假」時,輸入鎖存器130處於處於保持狀態中。在一些實施例中,當時脈信號120a呈高態且時脈信號120b呈低態(例如時期203)時,輸入鎖存器130之啟用條件係「真」(且鎖存器處於通透狀態中)。在一些實施例中,當時脈信號120a呈低態或時脈信號120b呈高態時,輸入鎖存器130之啟用條件係「假」(且鎖存器130處於保持狀態中)。依此方式,當時脈信號120b呈低態(其指示:輸入鎖存器130已將先前資料提供至處理電路140b且已準備接收新資料)且時脈信號120a呈高態(其指示:輸出鎖存器150處於保持狀態中且因此將新資料傳輸至輸入鎖存器130)時,輸入鎖存器130之上述實施例處於通透狀態中(準備接收新資料)。相比而言,當時脈信號120b呈高態(其指示:輸入鎖存器130仍在將先前資料提供至處理電路140b且因此不準備接收新資料)或時脈信號120a呈低態(其指示:輸出鎖存器150處於通透狀態中且因此不準備傳輸新資料)時,輸入鎖存器130之上述實施例處於保持狀態中(不準備接收新資料)。
In some embodiments, the
在一些實施例中,產生時脈信號120b(例如,使用一反相器)作為具有一延遲204之時脈信號120a之反相。例如,該延遲可為自處理電路140a之時脈輸入至輸入鎖存器130之啟用輸入138之一傳播延遲(例
如使用一16奈米程序來製造之一晶片中之50皮秒至100皮秒)(其包含透過該反相器之延遲)。依此方式,當輸出鎖存器150處於保持狀態中(例如時期201)時,輸入鎖存器130在已由輸出鎖存器150在時脈信號120a之上升邊緣處(例如,在時期201之前)鎖存資料之後自輸出鎖存器150接收該資料(例如,在時期203期間)。
In some embodiments, the
圖2B係一同頻異相系統100之一時序圖250之一實例,其中時脈信號120a及120b係具有實質上相同頻率及不同相位之差動時脈信號。如圖2B中可見,差動時脈信號120a包含一差動信號對CLKP及CLKN,且差動時脈信號120b包含一差動信號對CLKNQ及CLKPQ。在圖2B之實例中,信號CLKPQ之上升邊緣發生於信號CLKP之前一上升邊緣之後之一時脈週期之約四分之一處。因此,在圖2B之實例中,時脈信號120b與時脈信號120a之間的相位差近似為一時脈週期之四分之一。
2B is an example of a timing diagram 250 of the same-frequency out-of-
如上文所描述,同頻異相系統100包含同步於時脈信號120a之一處理電路140a及同步於時脈信號120b之一處理電路140b。在一些實施例中,使處理電路140a同步於信號CLKP之上升邊緣,使得處理電路140a與信號CLKP之上升邊緣步調一致地將輸出資料傳輸至輸出鎖存器150之輸入資料端子152。在一些實施例中,輸出鎖存器150執行正鎖存,使得當信號CLKP呈高態且信號CLKN呈低態(例如時期251)時,輸出鎖存器處於保持狀態中,且當信號CLKP呈低態且信號CLKN呈高態(例如時期252)時,輸出鎖存器處於通透狀態中。
As described above, the in-frequency out-of-
在一些實施例中,使處理電路140b同步於信號CLKPQ之上升邊緣,使得處理電路140b與信號CLKPQ之上升邊緣步調一致地傳輸輸出資料端子105上之輸出資料(例如,至另一鎖存器)。在一些實施例中,輸入鎖存器130執行負鎖存,使得當鎖存器之啟用條件係「真」時,輸入鎖存器130處於通透狀態中,且當鎖存器之啟用條件係
「假」時,輸入鎖存器130處於保持狀態中。在一些實施例中,當信號CLKP呈高態且信號CLKPQ呈低態(例如時期253)時,輸入鎖存器130之啟用條件係「真」(且鎖存器處於通透狀態中)。在一些實施例中,當信號CLKP呈低態或信號CLKPQ呈高態時,輸入鎖存器130之啟用條件係「假」(且鎖存器130處於保持狀態中)。依此方式,當信號CLKPQ呈低態(其指示:輸入鎖存器130已將先前資料提供至處理電路140b且準備接收新資料)且信號CLKP呈高態(其指示輸出鎖存器150處於保持狀態中且因此將新資料傳輸至輸入鎖存器130)時,輸入鎖存器130之上述實施例處於通透狀態中(準備接收新資料)。相比而言,當信號CLKPQ呈高態(其指示:輸入鎖存器130仍在將先前資料提供至處理電路140b且因此不準備接收新資料)或信號CLKP呈低態(其指示:輸出鎖存器150處於通透狀態中且因此不準備傳輸新資料)時,輸入鎖存器130之上述實施例處於保持狀態中(不準備接收新資料)。
In some embodiments, the
如下文將參考圖5來進一步描述,可產生差動時脈信號120b(例如,使用一差動信號轉發器)作為差動時脈信號120a之反相。差動時脈信號120b之切換(例如信號CLKNQ及CLKPQ之切換)可發生於相對於差動時脈信號120a之切換(例如信號CLKN及/或信號CLKP之切換)之一延遲254之後。例如,延遲254可包含自處理電路140a之時脈輸入至輸入鎖存器130之啟用輸入138之一傳播延遲(例如使用一16奈米程序來製造之一晶片中之50皮秒至100皮秒)(其包含透過差動信號轉發器之延遲)。依此方式,當輸出鎖存器150處於保持狀態中(例如時期251)時,輸入鎖存器130在已由輸出鎖存器150在時脈信號120a之上升邊緣處(例如,在時期251之前)鎖存資料之後自輸出鎖存器150接收該資料(例如,在時期253期間)。
As will be described further below with reference to FIG. 5, a
本文已描述一實例,其中正邊緣觸發處理電路(140a、140b),輸出鎖存器150執行正鎖存,且輸入鎖存器130執行負鎖存。在一些實施
例中,可使用其他時控及鎖存方案。例如,可負邊緣觸發處理電路(140a、140b),輸出鎖存器150可執行負鎖存,且輸入鎖存器130可執行正鎖存。可使用正/負邊緣觸發處理單元、正/負輸出鎖存器及/或正/負輸入鎖存器之任何適合組合。
An example has been described herein in which the positive edge trigger processing circuit (140a, 140b), the
在一些實施例中,若不滿足對輸入資料之設置時間及/或保持時間限制,則輸入鎖存器130會不正確地鎖存輸入資料。設置時間係僅在輸入鎖存器130進入保持狀態之前之一時間週期。保持時間係僅在輸入鎖存器130進入保持狀態之後之一時間週期。設置時間及保持時間限制規定:除非輸入資料在設置時間週期及保持時間週期期間係穩定的,否則無法保證輸入資料之適當鎖存。在一些實施例中,時脈信號120a與120b之間的相位差可經調整以確保:滿足設置時間限制及/或保持時間限制。可(例如)藉由增加或減少延遲204(或254)而調整相位差。在一些實施例中,可藉由將一額外延遲元件插入於處理單元140a之時脈輸入與輸入鎖存器130之啟用輸入138之間而增加延遲204(或254)。
In some embodiments, if the set time and/or hold time restrictions on the input data are not met, the
圖3展示一輸入鎖存器130s之一實施例,其用於具有同頻異相單端時脈信號之一系統100之一接收處理單元110b。在圖3之實例中,輸入鎖存器130s係一閘控D鎖存器,其具有:一資料輸入端子310;一啟用輸入端子312;一資料輸出端子330,其提供匹配由鎖存器儲存之值之一資料輸出Q;及一資料輸出端子332,其提供一資料輸出Q',資料輸出Q'係由鎖存器儲存之值之反數。當啟用端子312處之信號(E)呈高態時,鎖存器130s處於通透狀態中,使得輸入資料D被提供至SR鎖存器(「反或」閘321及322及其間之耦合件),SR鎖存器將輸入資料D儲存於輸出資料端子330處且將輸入資料D之反數儲存於輸出端子332處。當啟用端子處之信號(E)呈低態時,鎖存器130s處於保持狀態中,使得即使輸入資料D改變,但資料輸出端子330及332上之值被維
持。在圖3之實例中,使用「反或」閘來實施SR鎖存器。在一些實施例中,使用「反及」閘及/或任何其他適合電路組件來實施SR鎖存器。
FIG. 3 shows an embodiment of an
在一些實施例中,D鎖存器之資料輸入端子310耦合至輸入鎖存器130s之資料輸入端子132,D鎖存器之非反相資料輸出端子330耦合至輸入鎖存器130s之資料輸出端子134,且D鎖存器之啟用端子312經耦合以接收一信號,該信號係時脈信號120a(提供於啟用端子136處)與時脈信號120b(提供於啟用端子138處)之反向之邏輯「及」。依此方式,當時脈信號120a呈高態且時脈信號120b呈低態時,輸入鎖存器130s處於通透狀態中(例如圖2A中所展示之時期203)。
In some embodiments, the
圖4展示一輸入鎖存器130d之一實施例,其用於具有同頻異相差動時脈信號之一系統100之一接收處理單元110b。輸入鎖存器130之其他實施方案係可行的。在圖4之實例中,輸入鎖存器130d包含p型金屬氧化物半導體(p型MOS或PMOS)場效電晶體(FET)M1、M2及M3,其等具有串聯地耦合於一電源供應節點與一緩衝電路之一輸入節點440之間的擴散端子。該緩衝電路包含一反相器(FET M11及M12),其使其輸入耦合至輸入節點440且使其輸出耦合至鎖存器之輸出端子134。輸入鎖存器130d亦包含n型MOSFET M4、M5及M6,其等具有串聯地耦合於輸入節點440與一參考(接地)節點之間的擴散端子。
FIG. 4 shows an embodiment of an
在圖4之實例中,n型FET M4及p型FET M1之閘極端子經耦合以自傳輸處理單元110a之輸出鎖存器150接收資料(在輸入資料端子132處)。n型FET M5及p型FET M2之閘極端子經耦合(在啟用端子136處)以接收差動時脈信號120a之分量(例如,分別為信號CLKP及CLKN)。n型FET M6及p型FET M3之閘極端子經耦合(在啟用端子138處)以接收差動時脈信號120b之分量(例如,分別為信號CLKNQ及CLKPQ)。
In the example of FIG. 4, the gate terminals of the n-type FET M4 and the p-type FET M1 are coupled to receive data from the
輸入鎖存器130d操作以實施輸入鎖存器130之上述功能。例如,
當CLKN及CLKPQ呈低態且CLKP及CLKNQ呈高態(例如圖2B中之時期253)時,M2、M3、M5及M6係導通的,藉此將輸入鎖存器130d置於通透狀態中。在此情況中,M1及M4一起充當一反相器,且內部節點440具有輸入資料端子132之反相值,且輸出端子134具有相同於輸入資料端子132之值,即,輸入鎖存器130d處於通透狀態中,且一資料值(反相於輸入端子132之值)被鎖定於內部節點440處。
The
在圖2B中所展示之時期253結束時,CLKP轉變至低值且CLKN轉變至高值,因此切斷M5及M2(例如,在一高阻抗狀態中),藉此將輸入鎖存器130d置於保持狀態中。在此情況中,內部節點440係三態的,且不管輸入資料端子132上之輸入資料之變化如何,維持先前儲存於內部節點440處之資料值(例如內部節點440之電位)。因此,不管輸入資料端子132上之輸入資料之變化如何,輸出端子134維持其在時期253結束時保持之相同值。
At the end of the
儘管圖2B之實例中未展示,但在其同頻異相位差254大於時脈信號120之週期之一半的情況中,當CLKPQ轉變至高值且CLKNQ轉變至低值時,輸入鎖存器130d可自通透狀態轉變至保持狀態,藉此切斷M3及M6。在此情況中,內部節點440係三態的,不管輸入資料端子132上之輸入資料之變化如何,維持先前儲存於內部節點440處之資料值,且維持輸出端子134之資料值。
Although not shown in the example of FIG. 2B, in the case where the in-frequency out-of-
在圖4之實例中,輸入鎖存器130經實施為具有經修改啟用邏輯之一C2MOS D鎖存器。輸入鎖存器130之其他實施方案係可行的。在一些實施例中,輸入鎖存器130經實施為具有經修改啟用邏輯之一動態傳輸閘邊緣觸發鎖存器、具有經修改啟用邏輯之一雙邊緣鎖存器及/或任何其他適合鎖存電路。
In the example of FIG. 4, the
在圖3及圖4之實例中,輸入鎖存器130及輸出鎖存器150經描述為儲存、接收及傳輸一單位元之資料之單位元鎖存器。在一些實施例
中,輸入鎖存器130及輸出鎖存器150係儲存、接收及傳輸N個位元之資料之N位元鎖存器。在一些實施例中,藉由複製單位元鎖存器之組件N次而建構一N位元鎖存器,其中各單位元鎖存器之啟用端子耦合至相同控制信號,且單位元鎖存器之各者之輸入資料端子耦合至不同輸入資料信號。
In the examples of FIGS. 3 and 4, the
在一些實施例中,可藉由使用一差動信號轉發器(例如依據代理案號號BFY-002於2016年1月5日申請之名稱為「System and Techniques for Repeating Differential Signals」之美國專利申請案第14/988,371號中所描述之差動信號轉發器,該案在適用法律容許之最大程度上以引用的方式併入本文中)而自差動時脈信號120a產生差動時脈信號120b。圖5展示根據一些實施例之一差動信號轉發器500之一方塊圖。差動信號轉發器接收輸入端子502及504上之一信號對作為輸入,且提供輸出端子506a及506b上之一信號對作為輸出。在一些實施例中,輸入端子502及504經耦合以接收差動時脈信號120a之分量(例如差動信號對CLKP及CLKN),且信號轉發器500經組態以在輸出端子506a及506b上提供差動時脈信號120b之分量(例如差動信號對CLKPQ及CLKNQ)。
In some embodiments, it is possible to use a differential signal repeater (for example, the US patent application named "System and Techniques for Repeating Differential Signals" filed on January 5, 2016 according to the agency case number BFY-002 The differential signal repeater described in case No. 14/988,371, which is incorporated by reference to the maximum extent permitted by applicable law) and the
當CLKP及CLKN具有互補值時,差動信號轉發器500操作以在輸出端子506a及506b處提供具有互補值之一對輸出差動信號CLKPQ及CLKNQ。在一些實施例中,當CLKP及CLKN具有互補值時,CLKPQ及CLKNQ之值分別為CLKP及CLKN之值之反數。當輸入信號(CLKP及CLKN)表示非互補值時,差動信號轉發器500將輸出端子(506a、506b)置於一高阻抗狀態中。如美國專利申請案第14/988,371號中所描述,在一些實施例中,差動信號轉發器500可僅在輸入差動信號(時脈信號120a)之兩個分量(CLKP、CLKN)切換之後切換輸出差動信號(時脈信號120b)之分量(CLKPQ、CLPNQ)。
When CLKP and CLKN have complementary values, the
由於差動信號轉發器500可適應其中輸入差動信號CLKP及CLKN不同時(或在一規定時間窗內)切換之情形,所以差動信號轉發器500可容忍可致使輸入差動信號之任一者在比其互補配對物遲之一時間或在相對於其配對物之切換之一規定時間窗外切換之變動(例如製程變動)。即使當輸入差動信號之一者遲於另一輸入差動信號切換(例如,在相對於另一輸入差動信號之切換之一規定時間窗外)時,差動信號轉發器500可同時或幾乎同時(例如,在彼此之一規定時間窗內)切換輸出差動信號。因此,差動信號轉發器500之輸出差動信號可比信號轉發器之輸入差動信號偏斜更小,此係因為差動信號轉發器之輸出差動信號之互補轉變之間的時間週期可短於差動信號轉發器之輸入差動信號之互補轉變之間的時間週期。如下文將參考圖6來討論,一組差動信號轉發器500可用以在一同頻異相系統之所有多個組件中傳播差動時脈信號,藉此防止、抵消或校正差動時脈信號之偏斜。防止、抵消或校正一差動信號之偏斜移在本文中可指稱「偏斜限制」差動信號。
Since the
圖6展示根據一些實施例之處理單元610之一鏈600。鏈600包含複數個處理單元610a、610b、610c等等。在一些實施例中,鏈600中之處理單元610可佈置成一列或一行。任何適合數目個處理單元可包含於鏈600中,例如兩個或兩個以上處理單元、或在2個處理單元至300個處理單元之間、或在20個處理單元至30個處理單元之間、或25個處理單元等等。各處理單元包含一處理電路(例如140a、140b或140c)。如早前所描述,各處理電路可為一電路處理資料及/或指令。鏈600中之處理電路可為相同或不同類型之處理電路。在一些實施例中,各處理單元包含一輸入鎖存器(例如130a至130c)、一輸出鎖存器(例如150a至150c)及一時脈緩衝器(例如630a至630c)。
6 shows a chain 600 of processing
在圖6之實例中,將輸入資料603(例如一單位元之資料或多個位
元之資料)及一時脈信號623(例如一差動時脈信號)提供至第一處理單元610a之輸入端子。時脈緩衝器630a緩衝時脈信號623以產生相對於時脈信號623相移之一時脈信號620a。輸入鎖存器130a基於輸入時脈信號623之狀態及經相移時脈信號620a之狀態而鎖存輸入資料,如上文所描述。處理電路140a與時脈信號620a步調一致地處理經鎖存輸入資料。輸出鎖存器150a亦與時脈信號620a步調一致地鎖存經處理資料且將經處理資料601a傳輸至第二處理單元610b之輸入端子。時脈緩衝器630a亦將時脈信號620a提供至處理單元610b之一輸入端子。一般技術者應瞭解,處理單元610b及610c之鎖存器及信號轉發器可依相同於處理單元610a之對應鎖存器及信號轉發器之方式操作。
In the example of FIG. 6, input data 603 (such as one unit of data or multiple bits
Data) and a clock signal 623 (such as a differential clock signal) are provided to the input terminal of the first processing unit 610a. The
如上文所描述,可使各輸入鎖存器130、處理電路140及輸出鎖存器150之操作同步於一或多個時脈信號。在一些實施例中,時脈信號623及620a至620c可為單端時脈信號,且時脈緩衝器630a至630c可為反相器。在一些實施例中,時脈信號623及620a至620c可為差動時脈信號,且時脈緩衝器620a至620c可為差動信號轉發器500。在一些實施例中,使鏈600之第一處理單元610a之處理電路140a及輸出鎖存器150a同步於時脈信號620a,使處理單元610b之處理電路140b及輸出鎖存器150b同步於時脈信號620b,且使處理單元610c之處理電路140c及輸出鎖存器150c同步於時脈信號620c。在一些實施例中,使輸入鎖存器130a同步於時脈信號623及620a之一邏輯組合,使輸入鎖存器130b同步於時脈信號620a及620b之一邏輯組合,且使輸入鎖存器130c同步於時脈信號620b及620c之一邏輯組合。
As described above, the operations of each
作為鏈600中之處理單元610之間的通信之僅一實例,輸出鎖存器150a耦合至輸入鎖存器130b。在時脈信號620a切換(例如,在圖2B中之時期251開始時)之後,時脈信號620b亦切換(例如,在圖2B中之時期253開始時)。在差動時脈信號620a之信號CLKP呈高態且差動時
脈信號620b之信號CLKPQ呈低態之週期期間,輸入鎖存器130b可處於通透狀態中(且因此可準備自輸出鎖存器150a接收輸出資料610a),且輸出鎖存器150a可處於保持狀態中(且因此可將輸出資料601a傳輸至輸入鎖存器130b)。
As just one example of the communication between the processing
在一些實施例中,作為一特殊情況,鏈600中之第一處理單元610a可省略輸入鎖存器130a及時脈緩衝器630a。第一處理單元610a可包含一習知輸入鎖存器來替代輸入鎖存器130a,且作為時脈緩衝器630a之替代,第一處理單元610a可在不轉發信號之情況下將輸入時脈信號623提供至第二處理單元610b。此實施方案具有減小鏈中之第一處理單元610a之尺寸的優點,且可實行於將輸入資料603及時脈信號623提供至第一處理單元610a之電路位於相同於第一處理單元610a之時脈域中時。
In some embodiments, as a special case, the first processing unit 610a in the chain 600 may omit the
圖7展示根據一些實施例之另一同頻異相系統700。系統700包含一控制單元710及多個處理節點(720a、720b、720c等等)。例如,各處理節點720可包含處理單元610之一鏈600。在一些實施例中,各處理節點720包含在處理節點720與控制單元710之間傳遞資料之一通信單元730。在圖7之實例中,通信單元730將輸出資料703自處理節點720發送至控制單元710。替代地或另外,通信單元730可將輸入資料701及/或時脈信號702自控制單元710發送至處理節點720。在一些實施例中,通信單元730實施控制單元710與處理節點720之間的一匯流排(例如一串列匯流排)。該匯流排可為單向或雙向的。在一些實施例中,一處理節點720中之各處理單元可藉由一或多個資料線而耦合至處理節點之通信單元730,且可透過該(等)資料線而將輸出資料直接傳輸至通信單元730。
7 shows another in-frequency out-of-phase system 700 according to some embodiments. The system 700 includes a control unit 710 and multiple processing nodes (720a, 720b, 720c, etc.). For example, each processing node 720 may include a chain 600 of
在圖7之實例中,控制單元將輸入資料701及一時脈信號702提供至各處理節點720(例如處理節點之處理單元鏈中之第一處理單元
610)。在一些實施方案中,各處理節點720可包含一資料鎖存器來緩衝來自控制單元之輸入資料。
In the example of FIG. 7, the control unit provides
可依任何適合拓撲組織控制單元710及處理節點720。例如,通信單元730可在晶片之中心被放置成一行,其中處理單元之一鏈在各匯流排單元之兩側上形成一列。控制單元及處理節點之其他組織係可行的。 The control unit 710 and the processing node 720 can be organized according to any suitable topology. For example, the communication units 730 may be placed in a row at the center of the wafer, where a chain of processing units forms a column on both sides of each busbar unit. Control units and other organizations of processing nodes are feasible.
同頻異相系統700可執行任何適合計算任務。例如,同頻異相系統700可執行比特幣探勘任務。在一些實施例中,各處理節點使用一隨機數(「臨時亂數」)來執行一雜湊運算以判定雜湊值是否匹配一給定數。處理節點中之各處理單元使用來自處理節點中之先前處理單元之輸出資料來執行雜湊運算之部分。其他處理任務係可行的。一處理節點中之各處理單元可基於由該處理節點中之先前處理單元提供之資料及時脈信號而操作,使得全系統時脈係非必需的。因為自先前處理單元之時脈信號自動地產生各處理單元之時脈信號(例如,使用上文所描述之一反相器或差動時脈轉發器),所以時脈信號可以不同速率(例如,歸因於製程變動)傳播通過不同處理節點。 The same frequency out of phase system 700 can perform any suitable computing task. For example, the in-frequency out-of-phase system 700 can perform a bitcoin exploration task. In some embodiments, each processing node uses a random number ("temporary random number") to perform a hash operation to determine whether the hash value matches a given number. Each processing unit in the processing node uses the output data from the previous processing unit in the processing node to perform the part of the hash operation. Other processing tasks are feasible. Each processing unit in a processing node can operate based on data and clock signals provided by previous processing units in the processing node, making the system-wide clock unnecessary. Since the clock signal of each processing unit is automatically generated from the clock signal of the previous processing unit (for example, using one of the inverters or differential clock repeaters described above), the clock signal can be at a different rate (for example , Due to process changes) spread through different processing nodes.
電子設計自動化(EDA)工具Electronic Design Automation (EDA) tools
在一些實施例中,一電子設計自動化(EDA)工具可經組態以使用本文中所描述之技術來促進同頻異相電路之設計、模擬、驗證及製造。一般而言,EDA工具用以設計、模擬、驗證及/或準備電子系統(例如積體電路、印刷電路板等等)之製造。 In some embodiments, an electronic design automation (EDA) tool can be configured to use the techniques described herein to facilitate the design, simulation, verification, and manufacture of in-phase out-of-phase circuits. Generally speaking, EDA tools are used to design, simulate, verify, and/or prepare the manufacture of electronic systems (eg, integrated circuits, printed circuit boards, etc.).
如圖8中所展示,一EDA工具800之一些實施例可包含一或多個模組,例如一設計模組810、一驗證模組820及/或一製造模組830。設計模組810可操作以執行一或多個設計步驟,其包含(但不限於)一系統設計步驟、一邏輯設計步驟、一電路合成步驟、一平面規劃步驟及/或一實體實施步驟。在系統設計步驟中,設計模組810可(例如,自一
使用者)接收待由系統實施之功能之一描述,且可執行所描述功能之硬體-軟體架構分隔。可用以執行系統設計步驟之購自Synopsys公司之EDA軟體工具之實例包含模型架構、Saber、系統工作室及DesignWare®產品。
As shown in FIG. 8, some embodiments of an
在邏輯設計步驟中,設計模組810可獲得系統之一高階邏輯描述(例如呈一硬體設計語言(HDL)(其包含(但不限於)Verilog或VHDL)之系統之一描述)。在一些實施例中,設計模組810基於系統之功能描述而產生系統(或其部分)之邏輯描述。在一些實施例中,設計模組810自一使用者接收系統(或其部分)之邏輯描述。可用以執行邏輯設計步驟之購自Synopsys公司之EDA軟體工具之實例包含VCS、VERA、DesignWare®、Magellan、Formality、ESP及LEDA產品。
In the logic design step, the
在合成步驟中,設計模組810可將系統之高階邏輯描述轉化成可由一接線對照表或一電路之組件及該等組件之間的連接之任何其他適合描述表示之一電路示意圖。在一些實施例中,此合成步驟可包含:選擇一或多個庫單元來執行電路之高階邏輯描述中所規定之邏輯功能。在一些實施例中,可依據一特定IC技術(例如將用以實施系統之IC技術)來客製示意圖。可用以執行合成步驟之購自Synopsys公司之EDA軟體工具之實例包含Design Compiler®、Physical Compiler、DFT Compiler、Power Compiler、FPGA Compiler、TetraMAX及DesignWare®產品。
In the synthesis step, the
在平面規劃步驟中,設計模組810可產生將實施系統或其之一部分之一IC之一平面圖。可用以執行平面規劃步驟之購自Synopsys公司之EDA工具之實例包含Astro及客製設計者產品。
In the plan planning step, the
在實體實施步驟中,設計模組810可產生系統之一實體實施方案之一表示(例如一IC上之系統之組件之一實體布局)。產生系統之實體實施方案之表示可包含:「放置」電路之組件(判定電路之組件在IC上
之位置);及使電路之連接選路(判定耦合電路之組件之電導體在IC上之位置)。在一些實施例中,此實體實施步驟可包含:選擇一或多個庫單元來實施包含於電路示意圖中之電路組件。可用以執行實體實施步驟之購自Synopsys公司之EDA工具之實例包含Astro、IC Compiler及客製設計者產品。
In the physical implementation step, the
返回至圖8,驗證模組820可操作以執行一或多個驗證步驟,其包含(但不限於)一模擬步驟、一功能驗證步驟、一示意圖驗證(例如接線對照表驗證)步驟、一電晶體級驗證步驟、一平面圖驗證步驟及/或一實體驗證步驟。在模擬步驟中,驗證模組820可模擬系統之一表示(例如系統之一高階邏輯描述、電路示意圖、平面圖或布局)之操作。
Returning to FIG. 8, the
在功能驗證步驟中,驗證模組820檢查系統之高階邏輯描述之功能精確度。例如,驗證模組820可回應於特定輸入而模擬電路之高階邏輯描述之操作以判定電路之邏輯描述是否回應於該等輸入而產生正確輸出。可用於功能驗證步驟中之購自Synopsys公司之EDA工具之實例包含VCS、VERA、DesignWare®、Magellan、Formality、ESP及LEDA產品。
In the function verification step, the
在示意圖驗證步驟中,驗證模組820檢查系統示意圖(例如系統接線對表)與適用時序限制之順應性及與電路之高階邏輯描述之對應性。可用於驗證步驟中之購自Synopsys公司之實例性EDA工具包含Formality、PrimeTime及VCS產品。
In the schematic verification step, the
在電晶體級驗證步驟中,驗證模組820檢查系統之一電晶體級表示與適用時序限制之順應性及與電路之高階邏輯描述之對應性。可用於電晶體級驗證步驟中之購自Synopsys公司之EDA工具之實例包含AstroRail、PrimeRail、PrimeTime及Star-RCXT產品。
In the transistor-level verification step, the
在平面圖驗證步驟中,驗證模組820檢查系統之平面圖與適用限制(例如時序、頂級選路等等)之順應性。
In the floor plan verification step, the
在實體驗證步驟中,驗證模組820檢查系統之實體實施方案之表示(例如一IC上之系統組件之一實體布局)與製造限制、電限制、微影限制及/或示意圖限制之順應性。購自Synopsys公司之Hercules產品係可用於實體驗證步驟中之一EDA工具之一實例。
In the physical verification step, the
返回至圖8,製造模組830可操作以執行一或多個步驟來準備製造系統,該一或多個步驟包含(但不限於)一設計定案步驟及/或一解析度增強步驟。在設計定案步驟中,製造模組830產生(例如,在應用微影增強之後)用於產生遮罩(其用於實施系統之IC之微影製造)之設計定案資料。可用於設計定案步驟中之購自Synopsys公司之EDA工具之實例包含IC Compiler及工具之客製設計者系列。
Returning to FIG. 8, the
在解析度增強步驟中,製造模組830可執行系統之實體布局之幾何調處來改良IC之可製造性。可用於此解析度增強步驟中之購自Synopsys公司之EDA軟體產品之實例包含Proteus、ProteusAF及PSMGen工具。
In the resolution enhancement step, the
一EDA工具可執行一EDA方法,其包含依任何適合順序之上述設計、驗證及/或製造步驟之一或多者(例如全部)。在一些實施例中,可反覆地執行設計、驗證及/或製造步驟之一或多者(例如,直至工具判定系統滿足特定限制及/或通過特定測試)。 An EDA tool can perform an EDA method that includes one or more (eg, all) of the above design, verification, and/or manufacturing steps in any suitable order. In some embodiments, one or more of the design, verification, and/or manufacturing steps may be performed iteratively (eg, until the tool determines that the system meets certain limits and/or passes certain tests).
在一些實施例中,一或多個EDA工具可用以設計、驗證及/或製造一同頻異相系統100或其部分。例如,一EDA工具可用以合成一同頻異相系統(或其部分)之一電路示意圖(例如,基於該系統或其部分之一邏輯描述)。在一些實施例中,合成示意圖可包含第一處理單元中之一輸出鎖存器150及第二處理單元中之一輸入鎖存器130,其中輸出鎖存器之輸出資料端子耦合至輸入鎖存器之輸入資料端子。作為另一實例,一EDA工具可產生系統之一實體實施方案之一表示(例如系統之組件在一IC上之一實體布局),其包含第一處理單元之輸出鎖存器
150及第二處理單元之輸入鎖存器130。作為另一實例,一EDA工具可產生適合用於製造同頻異相系統之實體實施方案(其包含輸出鎖存器150及輸入鎖存器130)之微影遮罩。在一些實施例中,此等微影遮罩可與一或多個程序技術一起用以製造實施同頻異相系統之一IC。
In some embodiments, one or more EDA tools may be used to design, verify, and/or manufacture the co-frequency out-of-
一些實施例之進一步描述Further description of some embodiments
一EDA工具800(或其模組、或由一EDA工具800或其模組執行之方法、步驟或操作)之一些實施例可實施於數位電子電路中,或實施於電腦軟體、韌體或硬體(其包含本文中所揭示之結構及其結構等效物)中,或實施於上述各者之一或多者之組合中。本發明中所描述之標的之實施方案可經實施為編碼於一電腦儲存媒體上以由資料處理設備執行或控制資料處理設備之操作的一或多個電腦程式,即,電腦程式指令之一或多個模組。
Some embodiments of an EDA tool 800 (or its modules, or methods, steps, or operations performed by an
替代地或另外,程式指令可編碼於一人造傳播信號(例如一機器產生之電、光學或電磁信號)上,該人造傳播信號經產生以編碼用於傳輸至適合接收器設備以由一資料處理設備執行之資訊。一電腦儲存媒體可為下列各者或可包含於下列各者中:一電腦可讀儲存裝置、一電腦可讀儲存基板、一隨機或串列存取記憶體陣列或裝置、或其等之一或多者之一組合。再者,當一電腦儲存媒體不是一傳播信號時,一電腦儲存媒體可為編碼於一人造傳播信號中之電腦程式指令之一來源或目的地。電腦儲存媒體亦可為一或多個單獨實體組件或媒體(例如多個CD、磁碟或其他儲存裝置)或包含於一或多個單獨實體組件或媒體(例如多個CD、磁碟或其他儲存裝置)中。 Alternatively or additionally, the program instructions may be encoded on an artificial propagation signal (such as a machine-generated electrical, optical, or electromagnetic signal) that is generated to encode for transmission to a suitable receiver device for processing by a data Information on equipment implementation. A computer storage medium can be or can be included in the following: a computer readable storage device, a computer readable storage substrate, a random or serial access memory array or device, or one of these Or one of the combinations. Furthermore, when a computer storage medium is not a propagated signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificial propagated signal. Computer storage media may also be one or more separate physical components or media (such as multiple CDs, disks, or other storage devices) or contained in one or more separate physical components or media (such as multiple CDs, disks, or other Storage device).
本發明中所描述之方法、步驟及工具之一些實施例可經實施為由一資料處理設備對儲存於一或多個電腦可讀儲存裝置上或自其他來源接收之資料執行之操作。 Some embodiments of the methods, steps, and tools described in the present invention may be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or received from other sources.
術語「資料處理設備」涵蓋用於處理資料之所有種類之設備、 裝置及機器,其包含(例如)一可程式化處理器、一電腦、一單晶片系統或上述各者之多者或組合。該設備可包含專用邏輯電路,例如一FPGA(場可程式化閘極陣列)或一ASIC(專用積體電路)。該設備除包含硬體之外,亦可包含產生討論中之電腦程式之一執行環境的編碼,例如構成下列各者之編碼:處理器韌體、一協定堆疊、一資料庫管理系統、一作業系統、一跨平台運行時間環境、一虛擬機器、或其等之一或多者之一組合。該設備及執行環境可實現各種不同計算模型基礎架構,例如網路服務、分散式計算及網格計算基礎架構。 The term "data processing equipment" covers all types of equipment used to process data, Devices and machines, including, for example, a programmable processor, a computer, a single-chip system, or more or a combination of the foregoing. The device may include dedicated logic circuits, such as an FPGA (field programmable gate array) or an ASIC (dedicated integrated circuit). In addition to the hardware, the device can also include codes that generate one of the execution environments of the computer program in question, such as codes that make up the following: processor firmware, a protocol stack, a database management system, and an operation A system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The device and execution environment can implement a variety of different computing model infrastructures, such as network services, distributed computing, and grid computing infrastructures.
可依任何形式之程式撰寫語言(其包含編譯或解譯語言、說明性或程序性語言)寫入一電腦程式(亦稱為一程式、軟體、軟體應用程式、腳本或編碼),且可依任何形式部署該電腦程式,其包含作為一獨立程式或作為適合用於一計算環境中之一模組、組件、子常式、目標或其他單元。一電腦程式可(但非必需)對應於一檔案系統中之一檔案。一程式可儲存於保存其他程式或資料(例如儲存於一標示語言資源中之一或多個腳本)之一檔案之一部分中,儲存於專用於討論中之程式之一單一檔案中,或儲存於多個協調檔案(例如儲存一或多個模組、子程式或編碼之部分之檔案)中。一電腦程式可經部署以執行於一個電腦上或執行於定位於一個地點處或橫跨多個地點分佈且由一通信網路互連之多個電腦上。 It can be written into a computer program (also known as a program, software, software application, script, or code) in any form of programming language (including compiled or interpreted languages, descriptive or procedural languages), and The computer program is deployed in any form, including as a stand-alone program or as a module, component, subroutine, target, or other unit suitable for use in a computing environment. A computer program may (but is not required) correspond to a file in a file system. A program can be stored in a part of a file that holds other programs or data (such as one or more scripts in a markup language resource), in a single file dedicated to the program in question, or in In multiple coordination files (such as files that store one or more modules, subprograms, or coded parts). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one location or distributed across multiple locations and interconnected by a communications network.
本發明中所描述之程序及邏輯流程之一些實施例可由一或多個可程式化處理器執行,該一或多個可程式化處理器執行一或多個電腦程式以藉由操作輸入資料且產生輸出而執行動作。本文中所描述之程序及邏輯流程之一些實施例可由專用邏輯電路(例如一FPGA(場可程式化閘極陣列)或一ASIC(專用積體電路))執行,且本文中所描述之設備之一些實施例可經實施為專用邏輯電路,例如一FPGA(場可程式化閘極陣列)或一ASIC(專用積體電路)。 Some embodiments of the procedures and logic flows described in the present invention can be executed by one or more programmable processors that execute one or more computer programs to input data by operation and Generate output and perform actions. Some embodiments of the procedures and logic flows described in this document can be performed by dedicated logic circuits (such as an FPGA (field programmable gate array) or an ASIC (dedicated integrated circuit)), and the devices described in this document Some embodiments may be implemented as dedicated logic circuits, such as an FPGA (field programmable gate array) or an ASIC (dedicated integrated circuit).
適合用於執行一電腦程式之處理器包含(例如)通用微處理器及專用微處理器兩者及任何種類之數位電腦之任何一或多個處理器。一般而言,一處理器將自一唯讀記憶體或一隨機存取記憶體或兩者接收指令及資料。 Processors suitable for executing a computer program include, for example, both general and special microprocessors and any one or more processors of any kind of digital computer. Generally speaking, a processor will receive commands and data from a read-only memory or a random access memory or both.
圖9展示一電腦900之一方塊圖。電腦900之元件包含用於根據指令而執行動作之一或多個處理器902及用於儲存指令及資料之一或多個記憶體裝置904。在一些實施例中,電腦900執行一EDA工具800。可儲存、分佈或安裝EDA工具800之不同版本。軟體之一些版本僅可實施本文中所描述之方法之一些實施例。
9 shows a block diagram of a
一般而言,一電腦900亦將包含用於儲存資料之一或多個大容量儲存裝置(例如磁碟、磁光碟或光碟),或將可操作地經耦合以自該一或多個大容量儲存裝置接收資料或將資料轉移至該一或多個大容量儲存裝置,或上述兩者。然而,一電腦無需具有此等裝置。再者,一電腦可嵌入於另一裝置(例如(僅舉若干例)一行動電話、一個人數位助理(PDA)、一行動音訊或視訊播放器、一遊戲機、一全球定位系統(GPS)接收器或一可攜式儲存裝置(例如一通用串列匯流排(USB)快閃驅動器))中。適合用於儲存電腦程式指令及資料之裝置包含所有形式之非揮發性記憶體、媒體及記憶體裝置,其包含(例如):半導體記憶體裝置,例如EPROM、EEPROM及快閃記憶體裝置;磁碟,例如內部硬碟或可抽換式磁碟;磁光碟;及CD-ROM及DVD-ROM磁碟。處理器及記憶體可由專用邏輯電路補充或併入至專用邏輯電路中。
In general, a
可在一電腦(其具有:用於對一使用者顯示資訊之一顯示裝置,例如一CRT(陰極射線管)或LCD(液晶顯示器)監視器;及使用者可藉由其而將輸入提供至電腦之一鍵盤及一指向裝置,例如一滑鼠或一軌跡球)上實施本發明中所描述之標的之實施方案以提供與使用者之互動。其他種類之裝置亦可用以提供與一使用者之互動;例如,提供至 使用者之回饋可為任何形式之感覺回饋,例如視覺回饋、聽覺回饋或觸覺回饋;且來自使用者之輸入可依任何形式(其包含聲音、語音或觸覺輸入)接收。另外,一電腦可藉由將資源發送至供一使用者使用之一裝置或自該裝置接收資源(例如,藉由回應於自一使用者之用戶端裝置上之一網頁瀏覽器接收之請求而將網頁發送至該網頁瀏覽器)而與該使用者互動。 A computer (which has: a display device for displaying information to a user, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor; and the user can use it to provide input to A keyboard of a computer and a pointing device, such as a mouse or a trackball, implement the subject implementation described in the present invention to provide interaction with the user. Other types of devices can also be used to provide interaction with a user; for example, to The user's feedback can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form (including sound, voice, or tactile input). In addition, a computer can send resources to or receive resources from a device for use by a user (eg, by responding to a request received from a web browser on a user's client device Send the webpage to the web browser) to interact with the user.
可在一計算系統中實施一些實施例,該計算系統包含一後端組件(例如)作為一資料伺服器,或包含一中間軟體組件(例如一應用程式伺服器),或包含一前端組件(例如一用戶端電腦,其具有一使用者可透過其而與本發明中所描述之標的之一實施方案互動之一圖形使用者介面或一網頁瀏覽器),或包含一或多個此等後端組件、中間軟體組件或前端組件之任何組合。系統之組件可由數位資料通信之任何形式或媒介(例如一通信網路)互連。通信網路之實例包含一區域網路(「LAN」)及一廣域網路(「WAN」)、一全球性網路(例如網際網路)及同級間網路(例如特用同級間網路)。 Some embodiments may be implemented in a computing system that includes a back-end component (for example) as a data server, or includes an intermediate software component (for example an application server), or includes a front-end component (for example A client computer with a graphical user interface or a web browser through which a user can interact with one of the subject implementations described in the present invention), or including one or more of these backends Any combination of components, middleware components or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (such as a communication network). Examples of communication networks include a local area network ("LAN") and a wide area network ("WAN"), a global network (such as the Internet), and peer-to-peer networks (such as special peer-to-peer networks) .
計算系統可包含用戶端及伺服器。一用戶端及伺服器一般彼此遠離且通常透過一通信網路而互動。用戶端及伺服器之關係起因於在各自電腦上運行且彼此具有一用戶端-伺服器關係之電腦程式。在一些實施方案中,一伺服器將資料(例如一HTML頁)傳輸至一用戶端裝置(例如,為了對與用戶端裝置互動之一使用者顯示資料及自該使用者接收使用者輸入)。可自伺服器處之用戶端裝置接收在用戶端裝置處產生之資料(例如使用者互動之一結果)。 The computing system may include a client and a server. A client and server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server results from the computer programs running on the respective computers and having a client-server relationship with each other. In some implementations, a server transmits data (eg, an HTML page) to a client device (eg, to display data to and receive user input from a user interacting with the client device). The data generated at the client device (such as a result of user interaction) can be received from the client device at the server.
一或多個電腦之一系統可經組態以藉助於使軟體、韌體、硬體或其等之一組合安裝於系統上而執行特定操作或動作,其在操作中致使或致使系統執行動作。一或多個電腦程式可經組態以藉助於包含指令(其在由資料處理設備執行時致使設備執行動作)而執行特定操作或 動作。 A system of one or more computers can be configured to perform specific operations or actions by installing software, firmware, hardware, or a combination thereof on the system, which causes or causes the system to perform actions in operation . One or more computer programs can be configured to perform specific operations by including instructions that cause the device to perform actions when executed by the data processing device or action.
儘管本發明含有諸多特定實施方案細節,但此等不應被解釋為對任何發明或可主張之內容之範疇之限制,而是應被解釋為專針對特定發明之特定實施方案之特徵之描述。本發明之單獨實施方案之內文中所描述之某些特徵亦可組合地實施於一單一實施方案中。相反地,一單一實施方案之內文中所描述之各種特徵亦可單獨或依任何適合子組合實施於多個實施方案中。再者,儘管特徵在上文中可經描述為依某些組合起作用且甚至最初本身被主張,但在一些情況中,來自一所主張組合之一或多個特徵可自該組合去除且該所主張組合可針對一子組合或一子組合之變動。 Although the present invention contains many specific implementation details, these should not be construed as limitations on the scope of any invention or what can be claimed, but should be interpreted as descriptions of features specific to specific embodiments of specific inventions. Certain features described in the context of separate implementations of the invention may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation can also be implemented in multiple implementations individually or in any suitable sub-combination. Furthermore, although features may have been described above as functioning in certain combinations and even originally claimed, in some cases, one or more features from a claimed combination may be removed from the combination and the The claim combination can be directed to a sub-combination or a variation of a sub-combination.
類似地,儘管可在本發明中依一特定順序描述操作或在圖式中依一特定順序描繪操作,但此不應被理解為需要:依所展示之特定順序或依相繼順序執行此等操作,或執行所繪示之所有操作來達成所要結果。在某些情形中,多重任務處理及並行處理可為有利的。 Similarly, although operations can be described in a specific order in the present invention or depicted in a specific order in the drawings, this should not be understood as a need to perform these operations in the specific order shown or in sequential order , Or perform all the operations shown to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous.
再者,上文所描述之實施方案中之各種系統組件之分離不應被理解為在所有實施方案中需要此分離,且應瞭解,所描述之程式組件及系統大體上可一起整合於一單一軟體產品中或封裝至多個軟體產品中。 Furthermore, the separation of the various system components in the implementations described above should not be understood as requiring this separation in all implementations, and it should be understood that the program components and systems described can generally be integrated together in a single In software products or packaged into multiple software products.
因此,本文已描述標的之特定實施例。其他實施方案係在下列申請專利範圍之範疇內。在一些情況中,申請專利範圍中所陳述之動作可依一不同順序執行且仍達成所要結果。另外,附圖中所描繪之程序未必需要所展示之特定順序或相繼順序來達成所要結果。在某些實施方案中,多重任務處理及並行處理可為有利的。 Therefore, specific embodiments of the subject matter have been described herein. Other implementations are within the scope of the following patent applications. In some cases, the actions stated in the scope of the patent application can be performed in a different order and still achieve the desired result. In addition, the procedures depicted in the drawings do not necessarily require the particular order shown, or sequential order, to achieve the desired result. In certain embodiments, multitasking and parallel processing may be advantageous.
術語the term
本文中所使用之片語及術語用於描述且不應被視作限制。 The phrases and terms used herein are for description and should not be regarded as limiting.
如本說明書及申請專利範圍中所使用,術語「近似」、片語「近 似等於」及其他類似片語(例如「X具有近似為Y之一值」或「X近似等於Y」)應被理解成意謂:一值(X)在另一值(Y)之一預定範圍內。除非另有指示,否則該預定範圍可為±20%、±10%、±5%、±3%、±1%、±0.1%或小於±0.1%。 As used in this specification and the scope of patent applications, the terms "approximately" and the phrase "nearly "Likely equal" and other similar phrases (such as "X has a value approximately equal to Y" or "X is approximately equal to Y") should be understood to mean that one value (X) is predetermined in one of the other values (Y) Within range. Unless otherwise indicated, the predetermined range may be ±20%, ±10%, ±5%, ±3%, ±1%, ±0.1% or less than ±0.1%.
如本說明書及申請專利範圍中所使用,除非清楚地指示相反,否則不定冠詞「一」應被理解成意謂「至少一個」。如本說明書及申請專利範圍中所使用,片語「及/或」應被理解成意謂所結合之元件之「任一者或兩者」,即,在一些情況中同時存在且在其他情況中單獨存在之元件。使用「及/或」來列出之多個元件應依相同方式解釋,即,所結合之元件之「一或多者」。可視情況存在除由「及/或」子句明確識別之元件之外之其他元件,無論該等元件是否與經明確識別之元件有關或無關。因此,作為一非限制實例,當與開放式用語(諸如「包括」)一起使用時,「A及/或B」之涉及內容在一實施例中可僅係指A(視情況包含除B之外之元件),在另一實施例中可僅係指B(視情況包含除A之外之元件),在又一實施例中可係指A及B兩者(視情況包含其他元件),等等。 As used in this specification and the scope of patent applications, unless clearly indicated to the contrary, the indefinite article "a" should be understood to mean "at least one". As used in this specification and the scope of patent applications, the phrase "and/or" should be understood to mean "any or both" of the combined elements, ie, in some cases coexist and in other cases Components that exist alone. Multiple components listed using "and/or" should be interpreted in the same way, that is, "one or more" of the combined components. There may be elements other than those explicitly identified by the "and/or" clause, regardless of whether these elements are related or unrelated to the clearly identified elements. Therefore, as a non-limiting example, when used with open language (such as "including"), the content of "A and/or B" in one embodiment may refer to A only (including the exception of B as appropriate) Other components), in another embodiment it may only refer to B (including elements other than A as appropriate), in yet another embodiment may refer to both A and B (including other elements as appropriate), and many more.
如本說明書及申請專利範圍中所使用,「或」應被理解成具有相同於如上文所定義之「及/或」之含義。例如,當使一列表中之項目分離時,「或」或「及/或」應被解譯為具包含性,即,不僅包含數個元件或一列表之元件之至少一者,且包含數個元件或一列表之元件之一者以上,且視情況包含額外未列項目。僅有清楚地指示相反(諸如「...之僅一者」或「...之恰好一者」)或在申請專利範圍中用於「由...組成」中之術語將係指包含數個元件或一列表之元件之恰好一個元件。一般而言,當前面被加上排他性術語(諸如「任一者」、「...之一者」、「...之僅一者」或「...之恰好一者」)時,所使用之術語「或」應僅被解譯為指示不包含替代物(即,「一者或另一者但非兩 者」)。用於申請專利範圍中之「基本上由…組成」應具有如專利法領域中所使用之其通常含義。 As used in this specification and the scope of patent applications, "or" should be understood to have the same meaning as "and/or" as defined above. For example, when separating items in a list, "or" or "and/or" should be interpreted to be inclusive, that is, not only include several elements or at least one of the elements of a list, but also include Elements or more than one of the elements of a list, and optionally include additional unlisted items. Only the terms clearly indicating the opposite (such as "the only one of..." or "the exactly one of...") or the term "composed of" used in the scope of the patent application will mean including Several components or a list of components are exactly one component. Generally speaking, when exclusive terms are added to the front (such as "any one", "one of...", "the only one of..." or "the exactly one of..."), The term "or" used should only be interpreted as indicating that no substitutes are included (ie, "one or the other but not both By"). "Essentially composed of" used in the scope of patent application shall have its usual meaning as used in the field of patent law.
如本說明書中及申請專利範圍中所使用,關於一列表之一或多個元件之片語「至少一者」應被理解成意謂選自該列表之元件中之元件之任何一或多者的至少一元件,但未必包含該列表之元件內明確列出之每個元件之至少一者且不排除該列表之元件中之元件之任何組合。此定義亦允許:可視情況存在除片語「至少一者」所涉及之該列表之元件內明確識別之元件之外之元件,無論該等元件是否與經明確識別之元件有關或無關。因此,作為一非限制實例,「A及B之至少一者」(或等效地,「A或B之至少一者」,或等效地,「A及/或B之至少一者」):在一實施例中可係指至少一個(視情況包含一個以上)A,但不存在B(且視情況包含除B之外之元件);在另一實施例中,可係指至少一個(視情況包含一個以上)B,但不存在A(且視情況包含除A之外之元件);在又一實施例中,可係指至少一個(視情況包含一個以上)A及至少一個(視情況包含一個以上)B(且視情況包含其他元件);等等。 As used in this specification and in the scope of patent application, the phrase "at least one" with respect to one or more elements of a list should be understood to mean any one or more of the elements selected from the elements of the list At least one element of, but does not necessarily include at least one of each element explicitly listed in the elements of the list and does not exclude any combination of elements in the elements of the list. This definition also allows: There may be elements other than those clearly identified in the elements of the list referred to by the phrase "at least one", regardless of whether these elements are related or unrelated to the clearly identified elements. Therefore, as a non-limiting example, "at least one of A and B" (or equivalently, "at least one of A or B", or equivalently, "at least one of A and/or B") : In one embodiment, it may refer to at least one (optionally including more than one) A, but there is no B (and optionally including elements other than B); in another embodiment, it may refer to at least one ( (Contains more than one as appropriate) B, but does not exist A (and optionally includes elements other than A); In yet another embodiment, it can refer to at least one (optionally includes more than one) A and at least one (visual The case includes more than one) B (and optionally other elements); etc.
「包含」、「包括」、「具有」、「含有」、「涉及」及其等之變形之使用意謂涵蓋其後所列之項目及額外項目。 The use of variations of "contains", "includes", "has", "contains", "involves" and the like means covering the items listed below and additional items.
在申請專利範圍中用以修飾一主張元件之序數術語(諸如「第一」、「第二」、「第三」等等)本身不暗示任何優先順序、先後順序、或一主張元件先於另一主張元件之順序或執行一方法之動作所依之時間順序。序數術語僅用作為區分具有某一名稱之一主張元件與具有一相同名稱之另一元件(但使用序數術語)之標記以區別主張元件。 The ordinal terms used to modify a claimed element (such as "first", "second", "third", etc.) in the scope of patent application do not imply any priority order, priority order, or a claimed element precedes another. A claim to the order of components or the chronological order in which the actions of a method are performed. The ordinal term is only used as a mark to distinguish one claimed element with a certain name from another element with the same name (but using ordinal terms) to distinguish the claimed element.
等效物Equivalent
因此,儘管已描述本發明之至少一實施例之若干態樣,但應瞭解,熟習此項技術者將易於想到各種變更、修改及改良。此等變更、 修改及改良意欲成為本發明之部分,且意欲落於本發明之精神及範疇內。據此,[實施方式]及圖式僅供例示。 Therefore, although several aspects of at least one embodiment of the present invention have been described, it should be understood that those skilled in the art will readily think of various changes, modifications, and improvements. Such changes, Modifications and improvements are intended to be part of the invention, and are intended to fall within the spirit and scope of the invention. Accordingly, the [embodiment] and drawings are for illustration only.
100‧‧‧同頻異相系統 100‧‧‧ same frequency out of phase system
101‧‧‧輸入資料端子 101‧‧‧Input data terminal
105‧‧‧輸出資料端子 105‧‧‧Output data terminal
110a‧‧‧傳輸處理單元 110a‧‧‧Transmission processing unit
110b‧‧‧接收處理單元 110b‧‧‧Reception processing unit
120a‧‧‧時脈信號 120a‧‧‧clock signal
120b‧‧‧時脈信號 120b‧‧‧clock signal
130‧‧‧輸入鎖存器 130‧‧‧input latch
132‧‧‧輸入資料端子 132‧‧‧Input data terminal
134‧‧‧輸出資料端子 134‧‧‧Output data terminal
136‧‧‧啟用端子 136‧‧‧Enable terminal
138‧‧‧啟用端子 138‧‧‧Enable terminal
140a‧‧‧處理電路 140a‧‧‧processing circuit
140b‧‧‧處理電路 140b‧‧‧processing circuit
150‧‧‧輸出鎖存器 150‧‧‧Output latch
152‧‧‧輸入資料端子 152‧‧‧Input data terminal
154‧‧‧輸出資料端子 154‧‧‧Output data terminal
156‧‧‧啟用端子 156‧‧‧Enable terminal
Claims (35)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW105100483A TWI690158B (en) | 2016-01-07 | 2016-01-07 | Circuits and techniques for mesochronous processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW105100483A TWI690158B (en) | 2016-01-07 | 2016-01-07 | Circuits and techniques for mesochronous processing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201725861A TW201725861A (en) | 2017-07-16 |
| TWI690158B true TWI690158B (en) | 2020-04-01 |
Family
ID=60047269
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW105100483A TWI690158B (en) | 2016-01-07 | 2016-01-07 | Circuits and techniques for mesochronous processing |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI690158B (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11422819B2 (en) | 2020-06-12 | 2022-08-23 | Taiwan Semiconductor Manufacturing Company Limited | Power efficient multi-bit storage system |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080061835A1 (en) * | 2006-09-13 | 2008-03-13 | Stmicroelectronics Sa | Synchronizing modules in an integrated circuit |
| US8875082B1 (en) * | 2012-12-28 | 2014-10-28 | Cadeńce Design Systems, Inc. | System and method for detecting and prescribing physical corrections for timing violations in pruned timing data for electronic circuit design defined by physical implementation data |
-
2016
- 2016-01-07 TW TW105100483A patent/TWI690158B/en not_active IP Right Cessation
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080061835A1 (en) * | 2006-09-13 | 2008-03-13 | Stmicroelectronics Sa | Synchronizing modules in an integrated circuit |
| US8875082B1 (en) * | 2012-12-28 | 2014-10-28 | Cadeńce Design Systems, Inc. | System and method for detecting and prescribing physical corrections for timing violations in pruned timing data for electronic circuit design defined by physical implementation data |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201725861A (en) | 2017-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9645604B1 (en) | Circuits and techniques for mesochronous processing | |
| Oklobdzija | Clocking and clocked storage elements in a multi-gigahertz environment | |
| TWI727075B (en) | Semiconductor device | |
| Dickson et al. | A 1.8 pJ/bit $16\times 16\;\text {Gb/s} $ Source-synchronous parallel interface in 32 nm SOI CMOS with receiver redundancy for link recalibration | |
| CN108780467B (en) | Transmission gate layout and related systems and techniques | |
| JP5086993B2 (en) | Method and apparatus for providing timing signals to multiple circuits, integrated circuit and node | |
| TWI690158B (en) | Circuits and techniques for mesochronous processing | |
| WO2007127895A2 (en) | Control signal synchronization of a scannable storage circuit | |
| US8930862B2 (en) | System, method, and computer program product for automatic two-phase clocking | |
| CN109154843B (en) | Circuits and techniques for step-levelization | |
| Krstic et al. | Asynchronous and GALS design-overview and perspectives | |
| Kapschitz et al. | Formal verification of synchronizers | |
| HK40001293B (en) | Circuits and techniques for mesochronous processing | |
| HK40001293A (en) | Circuits and techniques for mesochronous processing | |
| Ezz-Eldin et al. | Analysis and design of networks-on-chip under high process variation | |
| US8618856B1 (en) | Shadow latch | |
| US9053273B2 (en) | IC delaying flip-flop output partial clock cycle for equalizing current | |
| Thote et al. | Modified synchronizer for protection from metastability | |
| Fuchs et al. | VLSI Implementation of a Distributed Algorithm for Fault‐Tolerant Clock Generation | |
| Zaychenko et al. | Structural CDC analysis methods | |
| US8497721B1 (en) | Pass gate shadow latch | |
| Zeng et al. | Low-power clock-less hardware implementation of the rijndael S-box for wireless sensor networks | |
| Ejlali et al. | SEU-hardened energy recovery pipelined interconnects for on-chip networks | |
| Siang et al. | An automated clock distribution topology in SoC designs | |
| Dolev et al. | Fault-tolerant distributed systems in hardware |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |