TWI784864B - 流水線時鐘驅動電路、計算晶片、算力板和計算設備 - Google Patents
流水線時鐘驅動電路、計算晶片、算力板和計算設備 Download PDFInfo
- Publication number
- TWI784864B TWI784864B TW111101136A TW111101136A TWI784864B TW I784864 B TWI784864 B TW I784864B TW 111101136 A TW111101136 A TW 111101136A TW 111101136 A TW111101136 A TW 111101136A TW I784864 B TWI784864 B TW I784864B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock
- signal
- driving circuit
- flip
- pipeline
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Pulse Circuits (AREA)
- Power Sources (AREA)
Abstract
本發明涉及流水線時鐘驅動電路、計算晶片、算力板和計算設備。界定了一種流水線時鐘驅動電路,為包括多個運算級的流水線提供脈衝時鐘訊號,包括:多級時鐘驅動電路,每級時鐘驅動電路為相應運算級提供脈衝時鐘訊號;和時鐘源,耦合到第一級時鐘驅動電路的輸入,用於提供基本時鐘訊號,其他各級時鐘驅動電路的輸入耦合到上一級時鐘驅動電路的輸出,每級時鐘驅動電路包括:正反器,耦合到本級時鐘驅動電路的輸入;延時模組,耦合到正反器的輸出,對正反器輸出的脈衝訊號進行延時,將其反饋到正反器並輸出到下一級時鐘驅動電路;和組合邏輯模組,耦合到正反器和延時模組的輸出,對其進行組合邏輯運算來產生脈衝時鐘訊號以提供到流水線的相應運算級。
Description
本申請是以CN申請號為202111174118.2,申請日為2021年10月9日的申請為基礎,並主張其優先權,該CN申請的公開內容在此作為整體引入本申請中。
本發明涉及用於執行哈希演算法的電路。更具體地,涉及一種流水線時鐘驅動電路,以及包括流水線時鐘驅動電路的計算晶片、算力板和計算設備。
用於產生加密貨幣的礦機類晶片通常採用包括多個運算級的流水線的結構。根據所使用的演算法,將運算邏輯分成若干個運算級,其中每一個運算級具有相似的功能設計和運算結構。特別地,在流水線的各個運算級中使用鎖存器作為時序器件時,每個運算級中的鎖存器需要一個工作時鐘(即脈衝時鐘)。因此,對於每個運算級,通過相應的一級時鐘驅動電路向其輸入一個脈衝時鐘。通常,用於每個運算級的工作時鐘來源於同一個時鐘源,該時鐘源所產生的時鐘訊號通過流水線時鐘驅動電路而逐級傳遞。
針對每個運算級產生用於鎖存器的工作時鐘的基本原理是將本級時鐘驅動電路的輸入時鐘訊號和延時的輸入時鐘訊號二者輸入到門電路(如反或閘、反及閘等)從而產生脈衝時鐘,其中延時的輸入時鐘訊號是輸入時鐘訊號經過延時模組後產生的。該脈衝時鐘的寬度基本由延時模組的延遲時間決定。
需要注意的是,該脈衝時鐘的寬度需要滿足流水線的最小脈衝寬度的要求。即,當脈衝時鐘有效時,需要該級時鐘驅動電路的輸入時鐘訊號的狀態(高電平或低電平)保持不變,從而維持所產生的脈衝時鐘的狀態保持最小脈衝寬度以上的時間。因此,每一級時鐘驅動電路的輸入時鐘訊號的占空比需要滿足一定的要求。
本發明的目的之一是提供一種改進的流水線時鐘驅動電路。
根據本發明的一個方面,提供了一種流水線時鐘驅動電路,用於為包括多個運算級的流水線提供脈衝時鐘訊號,所述流水線時鐘驅動電路包括:多級時鐘驅動電路,其中每一級時鐘驅動電路用於為流水線的多個運算級中的相應一個運算級提供脈衝時鐘訊號;以及時鐘源,耦合到第一級時鐘驅動電路的輸入,用於提
供基本時鐘訊號,其中所述多級時鐘驅動電路中的除第一級時鐘驅動電路以外的其他各級時鐘驅動電路的輸入耦合到上一級時鐘驅動電路的輸出,並且其中每一級時鐘驅動電路包括:正反器,耦合到本級時鐘驅動電路的輸入;延時模組,耦合到正反器的輸出,所述延時模組用於對正反器輸出的脈衝訊號進行延時,將延時後的脈衝訊號反饋到正反器並輸出到下一級時鐘驅動電路;以及組合邏輯模組,耦合到正反器和延時模組的輸出,所述組合邏輯模組對正反器輸出的脈衝訊號和延時模組輸出的延時後的脈衝訊號進行組合邏輯運算來產生脈衝時鐘訊號以提供到流水線的相應一個運算級。
在一些實施態樣中,所述正反器是上升沿正反器。
在一些實施態樣中,所述組合邏輯模組是或閘或者反或閘。
在一些實施態樣中,所述正反器是下降沿正反器。
在一些實施態樣中,所述組合邏輯模組是及閘或者反及閘。
在一些實施態樣中,所述延時模組由奇數個反相器構成。
在一些實施態樣中,所述延時模組由多個反相器和一個或多個數據選擇器構成,其中所述一個或多個數據選擇器被配置為使得所述多個反相器形成多條訊號通路,並且每條訊號通路中的
反相器的數量均為奇數。
在一些實施態樣中,所述每條訊號通路中的反相器的數量均不同。
在一些實施態樣中,脈衝訊號在所述多級時鐘驅動電路中傳遞的方向與數據訊號在流水線的所述多個運算級中傳遞的方向相反。
根據本發明的另一個方面,提供了一種計算晶片,其包括一個或多個如上所述的流水線時鐘驅動電路。
根據本發明的又一個方面,提供了一種算力板,其包括一個或多個如上所述的計算晶片。
根據本發明的又一個方面,提供了一種計算設備,其包括一個或多個如上所述的算力板。
根據參照附圖的以下描述,本發明的其它特性特徵和優點將變得清晰。
100:流水線時鐘驅動電路
110:時鐘源
101:流水線
101-1~101-N:運算級
120-1~120-N:時鐘驅動電路
130-1~130-N:延時模組
140-1~140-N:組合邏輯模組
200:流水線時鐘驅動電路
210:時鐘源
201:流水線
201-1~201-N:運算級
220-1~220-N:時鐘驅動電路
230-1~230-N:正反器
240-1~240-N:延時模組
250-1~250-N:組合邏輯模組
S201~S204:訊號
300:流水線時鐘驅動電路
310:時鐘源
301:流水線
301-1~301-N:運算級
320-1~320-N:時鐘驅動電路
330-1~330-N:正反器
340-1~340-N:延時模組
350-1~350-N:組合邏輯模組
S301~S304:訊號
400:流水線時鐘驅動電路
410:時鐘源
401-N:運算級
420-1:時鐘驅動電路
430-1:正反器
440-1:延時模組
450-1:組合邏輯模組
所包括的附圖用於說明性目的,並且僅用於提供本文所界定的發明性裝置以及將其應用到計算設備的方法的可能結構和佈置的示例。這些附圖決不限制本領域的技術人員在不脫離實施方案的實質和範圍的前提下可對實施方案進行的在形式和細節方面的任何更改。所述實施方案通過下面結合附圖的具體描述將更易
於理解,其中類似的附圖標記表示類似的結構元件。
圖1示出了相關技術的流水線時鐘驅動電路的示意圖。
圖2A示出了根據本發明的一些實施例的流水線時鐘驅動電路的示意圖。
圖2B示出了根據本發明的一些實施例的流水線時鐘驅動電路所產生的脈衝時鐘訊號的時序圖。
圖3A示出了根據本發明的另一些實施例的流水線時鐘驅動電路的示意圖。
圖3B示出了根據本發明的另一些實施例的流水線時鐘驅動電路所產生的脈衝時鐘訊號的時序圖。
圖4示出了根據本發明的又一些實施例的流水線時鐘驅動電路的示意圖。
注意,在以下說明的實施方式中,有時在不同的附圖之間共同使用同一附圖標記來表示相同部分或具有相同功能的部分,而省略其重複說明。在本說明書中,使用相似的標號和字母表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨後的附圖中不需要對其進行進一步討論。
為了便於理解,在附圖等中所示的各結構的位置、尺寸及範圍等有時不表示實際的位置、尺寸及範圍等。因此,所界定的發明並不限於附圖等所界定的位置、尺寸及範圍等。此外,附圖不必按比
例繪製,一些特徵可能被放大以示出具體組件的細節。
現在將參照附圖來詳細描述本發明的各種示例性實施例。應當注意,除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對佈置、數字表達式和數值不限制本發明的範圍。
以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發明及其應用或使用的任何限制。也就是說,本文中的哈希引擎是以示例性的方式示出,來說明本發明中的電路的不同實施例,而並非意圖限制。本領域具有通常知識者將會理解,它們僅僅說明可以用來實施本發明的示例性方式,而不是窮盡的方式。
對於相關領域具有通常知識者已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為授權說明書的一部分。
圖1示出了相關技術的流水線時鐘驅動電路100的示意圖。流水線時鐘驅動電路100用於為包括多個運算級101-1,...,101-(N-1),101-N的流水線101提供脈衝時鐘訊號。
如圖1所示,流水線時鐘驅動電路100包括時鐘源110和多級時鐘驅動電路120-1,120-2,...,120-N。時鐘源110耦合到第一級時鐘驅動電路120-1的輸入,用於提供基本時鐘訊號。多
級時鐘驅動電路120-1,120-2,...,120-N中的每一級時鐘驅動電路用於為流水線101的多個運算級101-N,101-(N-1),...,101-1中的相應一個運算級提供脈衝時鐘訊號。
其中,每一級時鐘驅動電路120-1,120-2,...,120-N包括延時模組130-1,130-2,...,130-N和組合邏輯模組140-1,140-2,...,140-N(如反或閘、反及閘等)。延時模組130-1,130-2,...,130-N用於對該級時鐘驅動電路120-1,120-2,...,120-N的輸入時鐘訊號進行延時。組合邏輯模組140-1,140-2,...,140-N用於對該級時鐘驅動電路120-1,120-2,...,120-N的輸入時鐘訊號與經延時模組130-1,130-2,...,130-N延時的輸入時鐘訊號進行邏輯運算(如反或、反及等),並且輸出其運算結果作為該級時鐘驅動電路120-1,120-2,...,120-N的輸出脈衝時鐘訊號,用於提供到流水線101的相應一個運算級101-N,101-(N-1),...,101-1。
通常,時鐘源產生的基本時鐘訊號的占空比為0.5。但是,在該時鐘訊號通過流水線時鐘驅動電路逐級傳遞的過程中,占空比會越來越差。造成時鐘訊號占空比變差的主要原因是組合邏輯器件的製造誤差的累積。在時鐘訊號通過流水線時鐘驅動電路逐級傳遞的過程中,其會經過許多緩衝器、反相器等組合邏輯器件。由於製造工藝,這些組合邏輯器件的性能參數存在誤差,而這種誤差
使得時鐘占空比發生偏差。並且,隨著時鐘訊號的逐級傳遞,各級時鐘驅動電路中的組合邏輯器件的參數誤差造成的影響不斷累積,因而時鐘占空比的這種偏差逐漸增加。因此,離時鐘源越遠的時鐘驅動電路的輸入時鐘訊號的占空比越差,其所產生的脈衝時鐘也相應地越差,以致可能不能滿足相應運算級的最小脈衝寬度的要求。
即,由於延時模組130-1,130-2,...,130-N中的組合邏輯器件(如緩衝器、反相器等)的製造誤差,時鐘訊號的占空比會發生偏差。在從時鐘源110輸出的基本時鐘訊號通過各級時鐘驅動電路120-1,120-2,...,120-N傳遞的過程中,占空比的這種偏差會逐漸累積,使得離時鐘源110越遠的運算級(101-1)的時鐘脈衝寬度越差,以至無法滿足該運算級對工作時鐘的脈衝寬度的要求。
針對這一問題,本發明提出一種改進的流水線時鐘驅動電路,其中各級時鐘驅動電路所產生的脈衝時鐘訊號的脈衝寬度與其輸入時鐘訊號無關。
圖2A示出了根據本發明的一些實施例的流水線時鐘驅動電路200的示意圖。圖2B示出了根據本發明的一些實施例的流水線時鐘驅動電路200所產生的脈衝時鐘訊號的時序圖。
流水線時鐘驅動電路200用於為包括多個運算級
201-1,...,201-N的流水線201提供脈衝時鐘訊號。
如圖2A所示,流水線時鐘驅動電路200包括時鐘源210和多級時鐘驅動電路220-1,...,220-N。
時鐘源210耦合到第一級時鐘驅動電路220-1的輸入,用於提供基本時鐘訊號。時鐘源210提供的基本時鐘訊號的占空比可以是0.5,頻率可以是幾百兆赫茲,例如400-700MHz。
多級時鐘驅動電路220-1,...,220-N中的除第一級時鐘驅動電路220-1以外的其他各級時鐘驅動電路的輸入耦合到上一級時鐘驅動電路的輸出,其中每一級時鐘驅動電路220-1,...,220-N用於為流水線201的多個運算級201-N,...,201-1中的相應一個運算級提供脈衝時鐘訊號。
其中,每一級時鐘驅動電路220-1,...,220-N包括正反器230-1,...,230-N、延時模組240-1,...,240-N和組合邏輯模組250-1,...,250-N。
正反器230-1,...,230-N耦合到本級時鐘驅動電路的輸入。即,第一級時鐘驅動電路220-1中的正反器230-1耦合到時鐘源210的輸出,而其他各級時鐘驅動電路中的正反器耦合到上一級時鐘驅動電路的輸出。正反器230-1,...,230-N可以是邊沿正反器。正反器230-1,...,230-N的類型和連接方式可以根據需要來配置。
在圖2A中示出了正反器230-1,...,230-N作為上升沿D正反器的實施例。在圖2A所示的實施例中,正反器230-1,...,230-N的SET端耦合到延時模組240-1,...,240-N的輸出,D端固定為低電平(即邏輯“0”),CP端耦合到上一級時鐘驅動電路的輸出,而輸出端Q耦合到延時模組240-1,...,240-N作為其輸入。在上升沿D正反器的SET端訊號為高電平的情況下,輸出端Q始終為高電平。在SET端訊號為低電平的情況下,每當CP端訊號的上升沿到來時,輸出端Q變為D端的訊號值。在其它實施例中,正反器230-1,...,230-N可以是例如下降沿正反器,並且其連接方式也可以隨之調整(以下將在圖3A所示的實施例中詳細描述)。
延時模組240-1,...,240-N的輸入耦合到正反器230-1,...,230-N的輸出。延時模組240-1,...,240-N用於對正反器230-1,...,230-N輸出的脈衝訊號進行延時,將延時後的脈衝訊號反饋到正反器230-1,...,230-N並輸出到下一級時鐘驅動電路。在優選的實施例中,延時模組240-1,...,240-N還對正反器230-1,...,230-N輸出的脈衝訊號進行反相。延時模組240-1,...,240-N可以由若干個緩衝器和/或反相器來實現。在優選的實施例中,如圖2A所示,延時模組240-1,...,240-N可以由奇數個反相器構成。在其它實施例中,延時模組240-1,...,240-N可以由若干個緩衝器和奇數個反相器構成。
組合邏輯模組250-1,...,250-N耦合到正反器230-1,...,230-N和延時模組240-1,...,240-N的輸出。組合邏輯模組250-1,...,250-N對正反器230-1,...,230-N輸出的脈衝訊號和延時模組240-1,...,240-N輸出的延時後的脈衝訊號進行組合邏輯運算來產生脈衝時鐘訊號以提供到流水線201的相應一個運算級201-N,...,201-1。可以根據正反器230-1,...,230-N的類型來相應地設計組合邏輯模組250-1,...,250-N。在圖2A所示的實施例中,在正反器230-1,...,230-N作為上升沿D正反器的情況下,組合邏輯模組250-1,...,250-N可以由或閘或者反或閘構成。在其它實施例中,組合邏輯模組250-1,...,250-N可以由及閘或者反及閘構成(以下將在圖3A所示的實施例中詳細描述)。
在優選的實施例中,如圖2A所示,脈衝訊號在多級時鐘驅動電路中220-1,...,220-N傳遞的方向與數據訊號在流水線的所述多個運算級201-1,...,201-N中傳遞的方向相反。即,第一級時鐘驅動電路220-1用於為最後一個運算級201-N提供脈衝時鐘訊號,而最後一級時鐘驅動電路220-N用於為第一個運算級201-1提供脈衝時鐘訊號,依此類推。這樣的佈置能夠更容易地滿足各個運算級201-1,...,201-N的運算時序的要求。
參考圖2B,以下以第一級時鐘驅動電路220-1為例描述其產生脈衝時鐘訊號的時序。
正反器230-1的CP端從時鐘源210接收基本時鐘訊號S201作為輸入訊號(相應地,後面各級正反器的CP端分別從前一級時鐘驅動電路中的延時模組的輸出處接收輸出訊號S203作為輸入訊號),並且在輸出端Q處將脈衝訊號S202提供至延時模組240-1和組合邏輯模組250-1(在此實施例中為反或閘)的一個輸入端。延時模組240-1對脈衝訊號S202進行反相並延時以得到輸出訊號S203,並且將輸出訊號S203分別提供至正反器230-1的SET端和組合邏輯模組250-1的另一個輸入端,並提供為下一級時鐘驅動電路的輸入訊號。
在整個系統上電之後,時鐘源210尚未輸出基本時鐘訊號S201時,正反器230-1的輸出端Q處的脈衝訊號S202會穩定在高電平。於是,延時模組240-1的輸出訊號S203穩定在低電平,即正反器230-1的SET端為低電平,且下一級時鐘驅動電路的輸入訊號同樣為低電平(與第一級時鐘驅動電路220-1的輸入訊號S201相對應)。因此,組合邏輯模組250-1(反或閘)的輸入訊號分別為高電平(S202)、低電平(S203),其輸出的脈衝時鐘訊號S204為低電平。
在t1時刻,時鐘源210開始輸出基本時鐘訊號S201。基本時鐘訊號S201的週期為T。
如圖2B所示,當訊號S201從低電平變為高電平時,正
反器230-1的CP端的訊號上升沿到來,且SET端訊號(S203)仍為低電平,使得正反器230-1的輸出端Q的訊號S202變為D端的訊號值,即低電平。於是,組合邏輯模組250-1(反或閘)的輸入訊號分別為低電平(S202)、低電平(S203),其輸出的脈衝時鐘訊號S204變為高電平。
經過t0,在t2時刻,延時模組240-1的輸出訊號S203變為高電平。t0是訊號S203與訊號S202之間的延時,由延時模組240-1的配置決定。在圖2A中所示的實施例中,t0是延時模組240-1中的多個反相器的延遲時間之和。
於是,如圖2B所示,一方面,正反器230-1的SET端變為高電平,使得正反器230-1的輸出端Q的訊號S202變為高電平。另一方面,組合邏輯模組250-1(反或閘)的輸入訊號分別為高電平(S202)、高電平(S203),其輸出的脈衝時鐘訊號S204變為低電平。
又經過t0,在t3時刻,延時模組240-1的輸出訊號S203變為低電平。
於是,如圖2B所示,一方面,正反器230-1的SET端變為低電平,但CP端尚無訊號上升沿到來,因此正反器230-1的輸出端Q的訊號S202仍保持為高電平。另一方面,組合邏輯模組250-1(反或閘)的輸入訊號分別為高電平(S202)、低電平
(S203),其輸出的脈衝時鐘訊號S204仍為低電平。
此後,訊號S202、S203、S204的值保持不變。直到t4時刻,基本時鐘訊號S201的下一週期開始。從t1時刻起到t4時刻經過基本時鐘訊號S201的一個週期T。
在t4時刻,訊號S201變為高電平。
如圖2B所示,當訊號S201從低電平變為高電平時,正反器230-1的CP端的訊號上升沿到來,且SET端訊號(S203)仍為低電平,使得正反器230-1的輸出端Q的訊號S202變為低電平。於是,組合邏輯模組250-1(反或閘)輸出端處的脈衝時鐘訊號S204變為高電平。
經過t0,在t5時刻,延時模組240-1的輸出訊號S203變為高電平。
於是,如圖2B所示,一方面,正反器230-1的SET端變為高電平,使得正反器230-1的輸出端Q的訊號S202變為高電平。另一方面,組合邏輯模組250-1輸出端處的脈衝時鐘訊號S204變為低電平。
又經過t0,在t6時刻,延時模組240-1的輸出訊號S203變為低電平。
於是,如圖2B所示,正反器230-1的輸出端Q的訊號S202仍保持為高電平,並且組合邏輯模組250-1的輸出端處的脈衝
時鐘訊號S204仍為低電平。
這樣,在組合邏輯模組250-1的輸出端產生了週期為T、脈衝寬度為t0的脈衝時鐘訊號S204。該脈衝時鐘訊號S204被提供到相應的運算級201-N作為工作時鐘。
此外,在延時模組240-1的輸出端產生了輸出訊號S203,該輸出訊號S203同時作為下一級時鐘驅動電路的輸入訊號(相當於第一級時鐘驅動電路220-1的輸入訊號S201)。輸出訊號S203的上升沿用於觸發下一級時鐘驅動電路的正反器。如圖2B所示,輸出訊號S203的上升沿比輸入訊號S201的上升沿延遲了t0。同樣地,每一級時鐘驅動電路所產生的輸出訊號的上升沿都比該級時鐘驅動電路的輸入訊號的上升沿延遲t0,這符合流水線的各個運算級的工作需要。
這樣,各級時鐘驅動電路所產生的脈衝時鐘訊號的脈衝寬度為t0,僅由該級時鐘驅動電路的配置決定,而與該級時鐘驅動電路的輸入訊號無關。雖然各級時鐘驅動電路中的組合邏輯器件的製造誤差仍可能導致各級輸入訊號和輸出訊號的脈衝寬度出現偏差,但是每一級時鐘驅動電路所產生的脈衝時鐘訊號的脈衝寬度與其輸入訊號的脈衝寬度無關,因此脈衝寬度的這種偏差不會隨著訊號在各級時鐘驅動電路中傳遞而不斷累積。也就是說,每一級時鐘驅動電路所產生的脈衝時鐘訊號的脈衝寬度的可能的偏差與之
前各級時鐘驅動電路中的組合邏輯器件的可能的製造誤差無關,而僅與該級時鐘驅動電路中的組合邏輯器件的可能的製造誤差有關。這樣的製造誤差通常較小,因而所導致的脈衝寬度偏差是可接受的。
圖3A示出了根據本發明的另一些實施例的流水線時鐘驅動電路300的示意圖。圖3B示出了根據本發明的另一些實施例的流水線時鐘驅動電路300所產生的脈衝時鐘訊號的時序圖。
流水線時鐘驅動電路300用於為包括多個運算級301-1,...,301-N的流水線301提供脈衝時鐘訊號。如圖3A所示,流水線時鐘驅動電路300包括時鐘源310和多級時鐘驅動電路320-1,...,320-N。
時鐘源310耦合到第一級時鐘驅動電路320-1的輸入,用於提供基本時鐘訊號。多級時鐘驅動電路320-1,...,320-N中的除第一級時鐘驅動電路320-1以外的其他各級時鐘驅動電路的輸入耦合到上一級時鐘驅動電路的輸出,其中每一級時鐘驅動電路320-1,...,320-N用於為流水線301的多個運算級320-1,...,320-N中的相應一個運算級提供脈衝時鐘訊號。
其中,每一級時鐘驅動電路320-1,...,320-N包括正反器330-1,...,330-N、延時模組340-1,...,340-N和組合邏輯模組350-1,...,350-N。
正反器330-1,...,330-N耦合到本級時鐘驅動電路的輸入。即,第一級時鐘驅動電路320-1中的正反器330-1耦合到時鐘源310的輸出,而其他各級時鐘驅動電路中的正反器耦合到上一級時鐘驅動電路的輸出。
在圖3A中示出了正反器330-1,...,330-N作為下降沿D正反器的實施例。在圖3A所示的實施例中,正反器330-1,...,330-N的RESET端耦合到延時模組340-1,...,340-N的輸出,D端固定為高電平(即邏輯“1”),CPN端耦合到上一級時鐘驅動電路的輸出,而輸出端Q耦合到延時模組340-1,...,340-N作為其輸入。在下降沿D正反器的RESET端訊號為低電平的情況下,輸出端Q始終為低電平。在RESET端訊號為高電平的情況下,每當CPN端訊號的下降沿到來時,輸出端Q變為D端的訊號值。
延時模組340-1,...,340-N的輸入耦合到正反器330-1,...,330-N的輸出。延時模組340-1,...,340-N用於對正反器330-1,...,330-N輸出的脈衝訊號進行延時,將延時後的脈衝訊號反饋到正反器330-1,...,330-N並輸出到下一級時鐘驅動電路。在優選的實施例中,延時模組340-1,...,340-N還對正反器330-1,...,330-N輸出的脈衝訊號進行反相。在圖3A所示的實施例中,延時模組340-1,...,340-N可以由奇數個反相器構成。
組合邏輯模組350-1,...,350-N耦合到正反器
330-1,...,330-N和延時模組340-1,...,340-N的輸出。組合邏輯模組350-1,...,350-N對正反器330-1,...,330-N輸出的脈衝訊號和延時模組340-1,...,340-N輸出的延時後的脈衝訊號進行組合邏輯運算來產生脈衝時鐘訊號以提供到流水線301的相應一個運算級301-N,...,301-1。在圖3A所示的實施例中,在正反器330-1,...,330-N作為下降沿D正反器的情況下,組合邏輯模組350-1,...,350-N可以由反及閘構成。
參考圖3B,以下以第一級時鐘驅動電路320-1為例描述其產生脈衝時鐘訊號的時序。
正反器330-1的CPN端從時鐘源310接收基本時鐘訊號S301作為輸入訊號(相應地,後面各級正反器的CPN端分別從前一級時鐘驅動電路中的延時模組的輸出處接收輸出訊號S303作為輸入訊號),並且在輸出端Q處將脈衝訊號S302提供至延時模組340-1和組合邏輯模組350-1(在此實施例中為反及閘)的一個輸入端。延時模組340-1對脈衝訊號S302進行反相並延時以得到輸出訊號S303,並且將輸出訊號S303分別提供至正反器330-1的RESET端和組合邏輯模組350-1的另一個輸入端,並提供為下一級時鐘驅動電路的輸入訊號。
在整個系統上電之後,時鐘源310尚未輸出基本時鐘訊號S301時,正反器330-1的輸出端Q處的脈衝訊號S302會穩定在低
電平。於是,延時模組340-1的輸出訊號S303穩定在高電平,即正反器330-1的RESET端為高電平,且下一級時鐘驅動電路的輸入訊號同樣為高電平(與第一級時鐘驅動電路320-1的輸入訊號S301相對應)。因此,組合邏輯模組350-1(反及閘)的輸入訊號分別為低電平(S302)、高電平(S303),其輸出的脈衝時鐘訊號S304為高電平。
在t1時刻,時鐘源310開始輸出基本時鐘訊號S301。基本時鐘訊號S301的週期為T。
如圖3B所示,當訊號S301從高電平變為低電平時,正反器330-1的CPN端的訊號下降沿到來,且RESET端訊號(S303)仍為高電平,使得正反器330-1的輸出端Q的訊號S302變為D端的訊號值,即高電平。於是,組合邏輯模組350-1(反及閘)的輸入訊號分別為高電平(S302)、高電平(S303),其輸出的脈衝時鐘訊號S304變為低電平。
經過t0,在t2時刻,延時模組340-1的輸出訊號S303變為低電平。t0是訊號S303與訊號S302之間的延時,由延時模組340-1的配置決定。在圖3A中所示的實施例中,t0是延時模組340-1中的多個反相器的延遲時間之和。
於是,如圖3B所示,一方面,正反器330-1的RESET端變為低電平,使得正反器330-1的輸出端Q的訊號S302變為低電
平。另一方面,組合邏輯模組350-1(反及閘)的輸入訊號分別為低電平(S302)、低電平(S303),其輸出的脈衝時鐘訊號S304變為高電平。
又經過t0,在t3時刻,延時模組340-1的輸出訊號S303變為高電平。
於是,如圖3B所示,一方面,正反器330-1的RESET端變為高電平,但CPN端尚無訊號上升沿到來,因此正反器330-1的輸出端Q的訊號S302仍保持為低電平。另一方面,組合邏輯模組350-1(反及閘)的輸入訊號分別為低電平(S302)、高電平(S303),其輸出的脈衝時鐘訊號S304仍為高電平。
此後,訊號S302、S303、S304的值保持不變。直到t4時刻,基本時鐘訊號S301的下一週期開始。從t1時刻起到t4時刻經過基本時鐘訊號S301的一個週期T。
在t4時刻,訊號S301變為低電平。
如圖3B所示,當訊號S301從高電平變為低電平時,正反器330-1的CPN端有訊號下降沿到來,使得正反器330-1的輸出端Q的訊號S302變為高電平。於是,組合邏輯模組350-1(反及閘)輸出端處的脈衝時鐘訊號S304變為低電平。
經過t0,在t5時刻,延時模組340-1的輸出訊號S303變為低電平。
於是,如圖3B所示,一方面,正反器330-1的RESET端變為低電平,使得正反器330-1的輸出端Q的訊號S302變為低電平。另一方面,組合邏輯模組350-1輸出端處的脈衝時鐘訊號S304變為高電平。
又經過t0,在t6時刻,延時模組340-1的輸出訊號S303變為高電平。
於是,如圖3B所示,正反器330-1的輸出端Q的訊號S302仍保持為低電平,並且組合邏輯模組350-1輸出端處的脈衝時鐘訊號S304仍為高電平。
這樣,在組合邏輯模組350-1的輸出端產生了週期為T、脈衝寬度為t0的脈衝時鐘訊號S304。該脈衝時鐘訊號S304被提供到相應的運算級301-N作為工作時鐘。
此外,在延時模組340-1的輸出端產生了輸出訊號S303,該輸出訊號S303同時作為下一級時鐘驅動電路的輸入訊號(相當於第一級時鐘驅動電路320-1的輸入訊號S301)。輸出訊號S303的下降沿用於觸發下一級時鐘驅動電路的正反器。如圖3B所示,輸出訊號S303的下降沿比輸入訊號S301的下降沿延遲了t0。同樣地,每一級時鐘驅動電路所產生的輸出訊號的下降沿都比該級時鐘驅動電路輸入訊號的下降沿延遲t0,這符合流水線的各個運算級的工作需要。
如上所述,根據本發明的流水線時鐘驅動電路所產生的脈衝時鐘的脈衝寬度由延時模組所延遲的時間t0決定。在優選的實施例中,延時模組由反相器構成。反相器的數量越多,所產生的脈衝時鐘訊號的脈衝寬度越大,而流水線的工作頻率越低。在工程實踐中,通常期望在脈衝時鐘的脈衝寬度能夠滿足要求的情況下,使流水線的工作頻率盡可能地高。為此,本發明提供了一種進一步改進的流水線時鐘驅動電路,其中構成延時模組的反相器的數量可以被靈活地調整。
圖4示出了根據本發明的又一些實施例的流水線時鐘驅動電路400的示意圖。
流水線時鐘驅動電路400用於為流水線提供脈衝時鐘訊號。如圖4所示,流水線時鐘驅動電路400包括時鐘源410和多級時鐘驅動電路。
以第一級時鐘驅動電路420-1為例,其用於為流水線的最後一級運算級401-N提供脈衝時鐘訊號。第一級時鐘驅動電路420-1包括正反器430-1、延時模組440-1和組合邏輯模組450-1。其中,正反器430-1、延時模組440-1和組合邏輯模組450-1的配置方式與圖2A所示的實施例類似,其產生脈衝時鐘訊號的時序與圖2B所示的時序類似,在此不再贅述。
與圖2A所示的實施例不同的是,延時模組440-1由多
個反相器和一個或多個數據選擇器構成。其中,數據選擇器被配置為使得多個反相器形成多條訊號通路,並且每條訊號通路中的反相器的數量均為奇數。在圖4所示的實施例中,延時模組440-1由七個反相器和三個數據選擇器構成,其形成四條訊號通路,這四條訊號通路分別包括一個、三個、五個以及七個反相器。因此,在圖4所示的實施例中,通過切換三個數據選擇器的狀態,能夠使得所產生的時鐘脈衝訊號具有四種不同的脈衝寬度(即,分別對應於一個、三個、五個以及七個反相器的延遲時間之和)。
由此,能夠根據實際的脈衝寬度需求而靈活、便捷地改變數據選擇器的狀態,以使得流水線的工作頻率盡可能高,從而提高晶片的工作效率。
圖4中所示的延時模組440-1的配置僅作為示例。在其它實施例中,延時模組440-1可以由任何適當數量的反相器和數據選擇器以任何適當的配置方式構成,以形成多條訊號通路,使得每條訊號通路中包括適當數量的反相器。在優選的實施例中,每條訊號通路中的反相器的數量均不同。
根據本發明的運算電路可以以軟體、硬體、軟體與硬體的結合等各種適當的方式實現。在一種實現方式中,一種計算晶片可以包括一個或多個上述流水線時鐘驅動電路。在一種實現方式中,一種算力板可以包括一個或多個計算晶片。在一種實現方式
中,一種計算設備可以包括一個或多個算力板。多個算力板可以並行地執行計算任務。
在這裡示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。
還應理解,“包括/包含”一詞在本文中使用時,說明存在所指出的特徵、整體、步驟、操作、單元和/或組件,但是並不排除存在或增加一個或多個其它特徵、整體、步驟、操作、單元和/或組件以及/或者它們的組合。
雖然已通過示例詳細展示了本發明的一些具體實施例,但是本領域具有通常知識者應當理解,上述示例僅意圖是說明性的而不限制本發明的範圍。本領域具有通常知識者應該理解,上述實施例可以在不脫離本發明的範圍和實質的情況下被修改。本發明的範圍是通過所附的請求項限定的。
200:流水線時鐘驅動電路
210:時鐘源
201:流水線
201-1~101-N:運算級
220-1~220-N:時鐘驅動電路
230-1~230-N:正反器
240-1~240-N:延時模組
250-1~250-N:組合邏輯模組
S201~S204:訊號
Claims (12)
- 一種流水線時鐘驅動電路,用於為包括多個運算級的流水線提供脈衝時鐘訊號,其中所述流水線時鐘驅動電路包括:多級時鐘驅動電路,其中每一級時鐘驅動電路用於為所述流水線的所述多個運算級中的相應一個運算級提供所述脈衝時鐘訊號;以及時鐘源,耦合到第一級時鐘驅動電路的輸入,用於提供基本時鐘訊號,其中所述多級時鐘驅動電路中的除所述第一級時鐘驅動電路以外的其他各級時鐘驅動電路的輸入耦合到上一級時鐘驅動電路的輸出,並且其中每一級時鐘驅動電路包括:正反器,耦合到本級時鐘驅動電路的輸入;延時模組,耦合到所述正反器的輸出,所述延時模組用於對所述正反器輸出的脈衝訊號進行延時,將延時後的脈衝訊號反饋到所述正反器並輸出到下一級時鐘驅動電路;以及組合邏輯模組,耦合到所述正反器和所述延時模組的輸出,所述組合邏輯模組被配置為對所述正反器輸出的所述脈衝訊號和所述延時模組輸出的所述延時後的脈衝訊號進行組合邏輯運算來產生所述脈衝時鐘訊號以提供到所述流水線的所述相應一個運算級。
- 如請求項1所述的流水線時鐘驅動電路,其中所述正反器是上升沿正反器。
- 如請求項2所述的流水線時鐘驅動電路,其中所述組合邏輯模組是或閘或者反或閘。
- 如請求項1所述的流水線時鐘驅動電路,其中所述正反器是下降沿正反器。
- 如請求項4所述的流水線時鐘驅動電路,其中所述組合邏輯模組是及閘或者反及閘。
- 如請求項1至5中任一項所述的流水線時鐘驅動電路,其中所述延時模組由奇數個反相器構成。
- 如請求項1至5中任一項所述的流水線時鐘驅動電路,其中所述延時模組由多個反相器和一個或多個數據選擇器構成,其中所述一個或多個數據選擇器被配置為使得所述多個反相器形成多條訊號通路,並且每條訊號通路中的反相器的數量均為奇數。
- 如請求項7所述的流水線時鐘驅動電路,其中所述每條訊號通路中的反相器的數量均不同。
- 如請求項1至5中任一項所述的流水線時鐘驅動電路,其中所述脈衝訊號在所述多級時鐘驅動電路中傳遞的方向與數據訊號在所述流水線的所述多個運算級中傳遞的方向相反。
- 一種計算晶片,其中包括一個或多個如請求項1至9中任一項所述的流水線時鐘驅動電路。
- 一種算力板,其中包括一個或多個如請求項10所述的計算晶片。
- 一種計算設備,其中包括一個或多個如請求項11所述的算力板。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111174118.2A CN113608575B (zh) | 2021-10-09 | 2021-10-09 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
CN202111174118.2 | 2021-10-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202230074A TW202230074A (zh) | 2022-08-01 |
TWI784864B true TWI784864B (zh) | 2022-11-21 |
Family
ID=78343409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111101136A TWI784864B (zh) | 2021-10-09 | 2022-01-11 | 流水線時鐘驅動電路、計算晶片、算力板和計算設備 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113608575B (zh) |
TW (1) | TWI784864B (zh) |
WO (1) | WO2023056709A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081370B (zh) * | 2022-06-27 | 2024-10-01 | 东科半导体(安徽)股份有限公司 | 可灵活配置驱动能力的驱动单元 |
CN115543016B (zh) * | 2022-11-30 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种时钟架构及处理模组 |
CN116088635A (zh) * | 2023-02-02 | 2023-05-09 | 深圳比特微电子科技有限公司 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
CN118520837A (zh) * | 2023-02-17 | 2024-08-20 | 华为技术有限公司 | 芯粒和电子设备 |
CN116737651A (zh) * | 2023-06-27 | 2023-09-12 | 无锡中微亿芯有限公司 | 一种低功耗的存算架构fpga |
CN116938198B (zh) * | 2023-07-20 | 2024-06-21 | 上海奎芯集成电路设计有限公司 | 脉冲上升下降沿延迟电路及脉冲上升下降沿延迟芯片 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021246A (zh) * | 2014-05-28 | 2014-09-03 | 复旦大学 | 一种应用于低功耗容错电路的自适应长度预测器 |
US20150365080A1 (en) * | 2014-06-13 | 2015-12-17 | Stmicroelectronics International N.V. | System and Method for a Pulse Generator |
CN111651403A (zh) * | 2020-07-16 | 2020-09-11 | 深圳比特微电子科技有限公司 | 时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机 |
CN212160484U (zh) * | 2020-06-22 | 2020-12-15 | 深圳比特微电子科技有限公司 | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 |
TW202131632A (zh) * | 2020-06-22 | 2021-08-16 | 大陸商深圳比特微電子科技有限公司 | 時鐘電路系統、計算晶片、算力板和資料處理設備 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539337A (en) * | 1994-12-30 | 1996-07-23 | Intel Corporation | Clock noise filter for integrated circuits |
US6323688B1 (en) * | 1999-03-08 | 2001-11-27 | Elbrus International Limited | Efficient half-cycle clocking scheme for self-reset circuit |
CN101446843A (zh) * | 2008-12-30 | 2009-06-03 | 北京中星微电子有限公司 | 一种高频时钟发生器、时钟频率转换方法以及一种芯片 |
CN109120257B (zh) * | 2018-08-03 | 2020-06-12 | 中国电子科技集团公司第二十四研究所 | 一种低抖动分频时钟电路 |
CN111404550B (zh) * | 2019-01-03 | 2022-09-09 | 无锡华润上华科技有限公司 | 模数转换器及其时钟产生电路 |
CN112422116A (zh) * | 2019-08-23 | 2021-02-26 | 长鑫存储技术有限公司 | 多级驱动数据传输电路及数据传输方法 |
CN111510137A (zh) * | 2020-06-04 | 2020-08-07 | 深圳比特微电子科技有限公司 | 时钟电路、计算芯片、算力板和数字货币挖矿机 |
-
2021
- 2021-10-09 CN CN202111174118.2A patent/CN113608575B/zh active Active
- 2021-12-21 WO PCT/CN2021/140016 patent/WO2023056709A1/zh active Application Filing
-
2022
- 2022-01-11 TW TW111101136A patent/TWI784864B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021246A (zh) * | 2014-05-28 | 2014-09-03 | 复旦大学 | 一种应用于低功耗容错电路的自适应长度预测器 |
US20150365080A1 (en) * | 2014-06-13 | 2015-12-17 | Stmicroelectronics International N.V. | System and Method for a Pulse Generator |
CN212160484U (zh) * | 2020-06-22 | 2020-12-15 | 深圳比特微电子科技有限公司 | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 |
TW202131632A (zh) * | 2020-06-22 | 2021-08-16 | 大陸商深圳比特微電子科技有限公司 | 時鐘電路系統、計算晶片、算力板和資料處理設備 |
CN111651403A (zh) * | 2020-07-16 | 2020-09-11 | 深圳比特微电子科技有限公司 | 时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机 |
Also Published As
Publication number | Publication date |
---|---|
TW202230074A (zh) | 2022-08-01 |
CN113608575B (zh) | 2022-02-08 |
WO2023056709A1 (zh) | 2023-04-13 |
CN113608575A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI784864B (zh) | 流水線時鐘驅動電路、計算晶片、算力板和計算設備 | |
TWI784457B (zh) | 時鐘電路系統、計算晶片、算力板和資料處理設備 | |
CN102664623B (zh) | 数字延迟装置 | |
JP2008545320A (ja) | 他ビットのプログラマブル分周器 | |
WO2024160037A1 (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
US20230236622A1 (en) | Clock circuits, computing chips, hash boards and data processing devices | |
CN106788353A (zh) | 一种时钟偏斜纠正方法及电路、终端设备 | |
CN212515801U (zh) | 时钟树、哈希引擎、计算芯片、算力板和加密货币挖矿机 | |
CN212515800U (zh) | 时钟树、哈希引擎、计算芯片、算力板和加密货币挖矿机 | |
CN111651403A (zh) | 时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机 | |
CN220154843U (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
US7342425B1 (en) | Method and apparatus for a symmetrical odd-number clock divider | |
WO2022152051A1 (zh) | 处理器和计算系统 | |
US20090289671A1 (en) | Frequency divider circuit | |
CN114884488A (zh) | 时钟电路、数据运算单元 | |
KR102575572B1 (ko) | 파이프라인 클럭 구동회로, 계산 칩, 계산 보드 및 계산 장치 | |
JP2002246895A (ja) | カウンタ回路 | |
US11418177B2 (en) | Propagation delay balancing circuit, method and random number generating circuit using the same | |
CN114978114A (zh) | 时钟电路、数据运算单元、芯片 | |
JP3851906B2 (ja) | パルス生成回路 | |
US20040095166A1 (en) | Clock switching circuit | |
TW202431063A (zh) | 流水線時脈驅動電路、計算晶片、算力板和計算設備 | |
JP2014131168A (ja) | 電気回路および半導体装置 | |
KR100353533B1 (ko) | 딜레이 락 루프 회로 | |
CN217643311U (zh) | 时钟生成电路、数据运算电路及芯片 |