TWI793277B - 用於混合訊號運算的系統與方法 - Google Patents
用於混合訊號運算的系統與方法 Download PDFInfo
- Publication number
- TWI793277B TWI793277B TW108107419A TW108107419A TWI793277B TW I793277 B TWI793277 B TW I793277B TW 108107419 A TW108107419 A TW 108107419A TW 108107419 A TW108107419 A TW 108107419A TW I793277 B TWI793277 B TW I793277B
- Authority
- TW
- Taiwan
- Prior art keywords
- summing node
- current
- node
- circuit
- summing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/45—Differential amplifiers
- H03F3/45071—Differential amplifiers with semiconductor devices only
- H03F3/45479—Differential amplifiers with semiconductor devices only characterised by the way of common mode signal rejection
- H03F3/45928—Differential amplifiers with semiconductor devices only characterised by the way of common mode signal rejection using IC blocks as the active amplifying circuit
- H03F3/45968—Differential amplifiers with semiconductor devices only characterised by the way of common mode signal rejection using IC blocks as the active amplifying circuit by offset reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/45—Differential amplifiers
- H03F3/45071—Differential amplifiers with semiconductor devices only
- H03F3/45076—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
- H03F3/45179—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using MOSFET transistors as the active amplifying circuit
- H03F3/45183—Long tailed pairs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06J—HYBRID COMPUTING ARRANGEMENTS
- G06J1/00—Hybrid computing arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/45—Differential amplifiers
- H03F3/45071—Differential amplifiers with semiconductor devices only
- H03F3/45076—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
- H03F3/45475—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using IC blocks as the active amplifying circuit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2203/00—Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
- H03F2203/45—Indexing scheme relating to differential amplifiers
- H03F2203/45551—Indexing scheme relating to differential amplifiers the IC comprising one or more switched capacitors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/14—Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit
- H03M1/145—Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit the steps being performed sequentially in series-connected stages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Fuzzy Systems (AREA)
- Analogue/Digital Conversion (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
一種混合訊號積體電路其包含:全域參考訊號源;第一求和節點與第二求和節點;複數個相異的電流產生電路對,係沿第一求和節點與第二求和節點配置;每一個相異對的第一電流產生電路係配置於第一求和節點上且每一個相異對的第二電流產生電路係配置於第二求和節點上;共模電流電路係配置成電性耦接於每一個第一與第二求和節點;其中本地端DAC基於來自全域參考源的參考訊號調整第一與第二求和節點之間的差動電流;以及比較器或有限態機器其產生自第一與第二求和節點取得的二進位輸出值電流值。
Description
所述發明係有關於一般積體電路架構領域,尤指一種在積體電路架構領域中新型且有用的混合訊號積體電路以及運算混合訊號的方法。
如今,各種人工智慧與機器學習的實現在許多科技的領域正驅動著創新。人工智慧(artificial intelligence,AI)系統與人工智慧模型(包含演算法)被許多系統架構與模型所定義,這些系統架構與模型致能了機器學習(深度學習),推論,推理能力,以及機器(例如,電腦及/或運算伺服器)的大量的資料處理能力。這些AI系統與模型經常被密集地訓練來執行一個或多個特定的任務,像是自然語言處理,影像辨識,計劃,決策之類的任務。舉例來說,這樣的AI系統與模型的子集包含人工神經網絡模型。在許多情況中,在使用之前人工神經網絡模型的訓練可能會需要上千個小時才能完成一個訓練週期以及許多兆位元組訓練資料來微調與模型相關的神經網路演算法。
然而,一旦經過訓練,神經網路模型或演算法可能會被利用來基於與訓練週期使用的較大訓練資料集,相比來說相對較小的資料集快速地進行推理以完成特定的任務(例如,自語音輸入資料辨識語音等等)。由神經網路模型或演算法基於較小的資料集所進行的推理可以是關於神經網路模型計算出的正確答案的預測或關於情況的指示。
雖然,當神經網路模型實施一種或多種神經網路演算法時可以不需要像是在訓練階段中所需要的等量運算資源,在現場利用神經網路模型仍然持續需要可觀的電路大小、能量以及運算力來分類資料並且推論或預測結果。舉例來說,加權求和計算普遍地使用在型樣匹配(pattern matching)與機器學習應用(包含神經網路應用)中。在加權求和計算中,積體電路可用以將一組輸入(xi)對應乘上一組權重(wi)並且將所得到個每一個乘法操作的結果進行加總以計算最後的結果(z)。然而,用於機器學習應用的一般加權求和計算包含上百或上千個權重,對於傳統數位電路來說這會使加權求和計算的運算量太過繁重。特別是,從數位記憶體讀取上百或上千個權重會需要可觀的運算時間(換言之,增加延遲)與可觀的能量。
於是,神經網路模型或類似應用的加權求和運算,所需要的傳統數位電路傾向於龐大,以儲存神經網路模型所需要的數十萬個權重。由於電路的龐大體積,需要更多能量來致能許多傳統電腦與電路的運算力。
此外,這些用於實施人工智慧模型與神經網路模型的傳統電腦與電路可能適用於遠端運算處理,像是在分散式運算系統(例如,雲端)中,或是當使用許多現場的運算伺服器或類似的機器時。然而,當這些遠端人工智慧處理系統進行運算推理與類似的應用被用在遠端,邊際運算裝置或現場裝置中時,延遲的問題便顯現了出來。也就是說,當這些傳統遠端系統試圖實施神經網路模型來產生推理以用在遠端現場裝置時,從遠端現場裝置接收輸入資料會有無可避免的延遲,因為輸入資料必須經常經過具有不同頻寬的網路傳送,且之後再由遠端運算系統所產生的推理必須經由相同或相似的網路傳送回遠端現場裝置。
在現場層級實施AI處理系統(例如,在遠端現場裝置的本地端)可以是用來解決一些延遲問題的方案。然而,在邊際裝置(例如遠端現場裝置)
上嘗試去實施某些傳統AI電腦與系統可能會得到一個如上所述的擁有許多電路笨重系統,其由於所需要運算系統的複雜架構被用在處理資料與產生推理會因此消耗可觀的能量。因此,這樣的方案如果沒有更進一步的配套對目前的科技來說並不可行及/或永續。
於是,有需要在本地端現場部屬用來實施人工智慧模型的系統(例如,本地端AI),且這樣的系統較佳地用於邊際裝置,其不會導致龐大笨重的(邊際)裝置,其可減少延遲,並且具有必要的運算力來即時或近即時地進行預測或推理,又能同時有效節能。
下列本申請實施例將提供這樣經過改良的先進積體電路與實施技巧其有能力解決傳統系統與積體電路架構用來實施AI與機器學習的不足之處。
本申請係宣告於2018年3月19日提出之美國臨時申請案US 62/644,908之優先權,透過此引用以將全部內容併入本申請案。
在一實施例中,一種積體電路包含:一二進位制加權全域參考訊號源,其驅動複數個本地端差動電流電路;一第一求和節點與一第二求和節點,其中該第一求和節點與該第二求和節點係配置成電性耦接於該複數個差動電流電路之一差動電流電路;複數個相異的可編程電流源對,係沿該第一求和節點與該第二求和節點配置,其中每一個相異對之一第一可編程電流源係配置於該第一求和節點上,且每一個相異對之一第二可編程電流源係配置於該第二求和節點上;其中該複數個相異的可編程電流源對中的每一對基於一輸入訊號設定該第一求和節點與該第二求和節點之間的一差動電流訊號;一共模控制電路,其係配置電性耦接於每一個該第一求和節點與該第二求和節點,且從每一個該第一求和節點與該第二求和節點提供或匯集(sink)一
共模電流值;該本地端差動電流電路基於來自該二進位制加權全域參考源的一個或多個參考訊號來調整該第一求和節點與該第二求和節點之間的差動電流;以及一比較器,其基於該第一求和節點與該第二求和節點的輸出來評估類比值並且基於該評估結果來產生一二進位輸出值。
在一實施例中,該本地端差動電流電路調整該第一求和節點與該第二求和節點之間的差動電流,直到該第一求和節點之一第一電流值的一輸出以及該第二求和節點之一第二電流值的一輸出之一總和為零。
在一實施例中,該比較器評估每一個該第一求和節點與該第二求和節點中的一經過加總的電流值的一相對狀態,並且決定該第一求和節點與該第二求和節點中哪個節點具有一較大的電流值或較小的電流值。
在一實施例中,該本地端差動電流電路基於該第一求和節點與該第二求和節點中輸出具有較高強度的一電流訊號值的節點,透過提供一逐步變小的差動電流訊號增值至該第一求和節點與該第二求和節點來增大或減小該第一求和節點與該第二求和節點之間的差動電流訊號。
在一實施例中,該共模電路包含一由單一放大器所驅動的電路以及一交換式電容迴授電路中之其一,該電路係提供該共模電流值至每一個該第一求和節點與該第二求和節點。
在一實施例中,該交換式電容迴授電路包含:一第一放大器,其驅動一目標電壓值並追蹤一產生的共模迴授電壓;以及一第二放大器,其在該共模迴授電路中屏蔽敏感的輸出電壓不受切換訊號的干擾。
在一實施例中,該共模電流電路包含一補償電路,其包含至少兩放大器其中每一放大器係配置電性耦接於兩電晶體中之其一,且每一放大器係驅動每一個兩電晶體中每一電晶體的一閘極電壓至一所需的共模電壓。
在一實施例中,該共模電流電路包含一補償電路其包含一單一放大器,其係配置成電性耦接於兩電晶體中的每一個電晶體且其於每兩個電晶體之間切換,以驅動兩個電晶體中的每一電晶體的一閘極電壓至一所需的共模電壓。
在一實施例中,該共模電流電路包含一補償電路,其包含一前端放大器,其透過將輸出電壓短路至該第一求和節點與該第二求和節點的電容輸入節點而自動歸零,其中該前端放大器的一輸出電壓差動係以閘極電壓儲存在至少兩電晶體上。
在一實施例中,該二進位制加權全域參考訊號源執行一二元搜尋演算法,使得在該二元搜尋演算法的每一步驟中,該二進位制加權全域參考訊號源對每一個複數個本地端差動電流電路設定一二進位制加權值,以調整每一個複數個本地端差動電流電路的一各別的本地端狀態。
在一實施例中,每一個複數個本地端差動電流電路:係沿一共用的訊號路徑配置;係被配置電性耦接於相異的成對的求和節點;該二進位制加權全域參考源沿該共用的訊號路徑提供複數個二進位制加權訊號至每一個複數個本地端差動電流電路。
在一實施例中,一種混合訊號積體電路包含:一全域參考訊號源,其驅動複數個本地端數位至類比轉換器(DACs);一第一求和節點與一第二求和節點,其中該第一求和節點與該第二求和節點係配置電性耦接於該複數個本地端DACs中的一本地端DAC;複數個相異的電流產生電路對係沿該第一求和節點與該第二求和節點配置,其中每一個相異電流產生電路對的一電流產生電路係配置於該第一求和節點上,且每一個相異電流產生電路對的一第二電流產生電路係配置於該第二求和節點上;其中該複數個相異的電流產生電路中的每一對係基於一輸入訊號而設定該第一求和節點與該第二求和節
點之間的一差動電流訊號;一共模電流電路,其被配置電性耦接於每一個該第一求和節點與該第二求和節點,且從每一個該第一求和節點與該第二求和節點提供或匯集(sink)一共模電流值;該本地端DAC基於一個或多個參考訊號從該全域參考源來調整該第一求和節點與該第二求和節點之間的差動電流;以及一比較器或一有限態機器,其基於該第一求和節點與該第二求和節點的輸出來評估類比值,並且基於該評估結果來產生一二進位輸出值。
在一實施例中,該全域參考源執行一二元搜尋演算法、一最低有效位元位元搜尋演算法、一非二元搜尋演算法、一對數搜尋演算法或一使用者自定義搜尋功能。
在一實施例中,一種實施積體電路的方法,該方法包含:於複數個相異的可編程電流源中的每一個電流源接收一類比輸入訊號;由每一個複數個相異的可編程電流源基於施加該類比輸入訊號至每一個複數個相異的可編程電流源來產生差動電流訊號;由每一個複數個相異的可編程電流源提供該差動電流訊號至一第一求和節點與一第二求和節點;量測該第一求和節點與該第二求和節點之間的一平均電壓;提供一共模電流訊號至每一個該第一求和節點與該第二求和節點以回應該量測結果;由一本地端差動電流源提供基於搜尋的差動電流訊號至該第一求和節點與該第二求和節點;以及基於該第一求和節點與該第二求和節點的差動電流訊號的一加權求和差值來產生一二進位輸出值。
在一實施例中,該本地端差動電流源供應一已知變動電流訊號至每一個該第一求和節點與該第二求和節點,其中該第一求和節點與該第二求和節點大小相同但方向相反。
在一實施例中,方法包含實施一全域參考源包含一N位元全域數位至類比轉換器,其為執行一運算於經過全部N個週期後提供參考訊號的全部N個位元至該本地端差動電流源。
在一實施例中,方法包含沿該第一求和節點與該第二求和節點評估該差動電流訊號;回傳一輸出訊號至該本地端差動電流源,其中該輸出訊號指示該第一求和節點與該第二求和節點相對於一目標電壓的一量測到的電壓的一電位。
在一實施例中,方法進一步包含經過N週期後,運算每一個該第一求和節點與該第二求和節點之間經過加總的電流值的一加權求和差值;以及將該加權求和差轉換為一二進位輸出碼。
100:積體電路
110:輸入電路
120:電流源
130:第一求和節點
140:第二求和節點
150:讀出電路
151:差動電流電路
152:控制邏輯電路
153:共用差動電流源
156:共模電流電路
157:共模控制電路
158:電流源
160:比較電路
710:全域參考產生器
720:本地端累加器
724:電流鏡
805:全域參考訊號產生器
820:可編程電流源
830:第一求和節點
840:第二求和節點
851:本地端差動電流源
856:共模電流電路
860:比較器
870:有限態機器
圖1繪示了根據本申請一個或多個實施例之積體電路100的示意圖;圖2繪示了根據本申請一個或多個實施例使用積體電路執行加權求和運算之方法;圖3繪示了根據本申請一個或多個實施例積體電路之第二示意架構;圖3A-3E繪示了根據本申請一個或多個實施例用來實施共模電路之變體架構的示意圖;圖4繪示了根據本申請一個或多個實施例積體電路之第三示意架構;圖5繪示了根據本申請一個或多個實施例積體電路之第四示意架構;圖6繪示了根據本申請一個或多個實施例積體電路之第五示意架構;圖7-7C繪示了根據本申請一個或多個實施例積體電路中的本地端電流源之具有陣列的全域參考源的示意圖;
圖8-8A繪示了根據本申請一個或多個實施例之積體電路中的全域參考源之二進位制加權實施態樣的示意圖;圖9繪示了根據本申請一個或多個實施例的N個週期計算的示意圖。
下列關於本申請較佳實施例的說明並非意指用來限制這些本發明之較佳實施例,而是用來使熟知本發明之技術領域者可實施並使用這些發明。
當傳統積體電路用來實施運算繁重的程式或應用(例如,深度神經網路演算法)與類似的運算時,一般的積體電路(IC)架構包含相對大量的電路需要大量的電路面積與消耗大量的能量來操作並執行運算。這是因為處理數位訊號(例如,二進位訊號)經常需要大量的且耗能的電路實施態樣。因此,對於許多運算繁重的程式的技術實現,像是人工智慧模型,最後所打造出的電腦具有這些大量的電路可以來處理數位訊號,但卻同時也太過龐大而因此較不可能包含於空間有限的裝置或類似的裝置中。
進一步地說,在實施運算繁重的應用中,像是神經網路模型,積體電路絕大多數的運算係關於執行成千至上百萬次的矩陣乘法。再進一步說,在用於神經網路模型的數位訊號處理中,乘積累加操作也可以透過運算兩數乘積後將乘積加入累加器來執行。因此,當神經網路模型僅使用或主要使用數位電路來實施時,所得到的數位電路會消耗大量的能量來執行計算並且為神經元儲存權重係數以及許多乘積累加操作的乘積結果。
作為減少運算所需要功耗與尺寸過大的積體電路又有能力處理運算繁重的程序的技術解決方案其係包含提供混合訊號運算架構,混合訊號運算架構係利用極度有效利用電路面積的數位至類比轉換器(Digital-to-Analog Converters,DACs)(而非使用標準DACs其基本上較大或較佔用電路面積)與積體電路的其他各種電路來實施以達到電路面積與能量的高效使用。因此,儘管DAC架構的傳統實施方式可能對減少所需能量以及積體電路過大尺寸有所幫助,由於大量的DACs對處理運算繁重的AI程式與應用來說是必要的,因此這些DAC架構的傳統實施方式可能是不可行的。
然而,本申請實施例透過以各種方式實施全域(參考訊號源)DAC解決了至少上述技術問題,全域(參考訊號源)DAC可能與一個或多個類比至數位轉換器可操作的溝通。
於是,積體電路係被提供來執行加權求和運算。積體電路較佳包含:複數個電流產生元件彼此互相連接並且成對配置、正求和節點、負求和節點、以及輸入產生電路。對每一對電流產生元件來說,每一元件的控制端電性連接於輸入節點。電流產生元件之一具有端子(例如,汲極或類似的端子)連接於正求和節點,而另一電流產生元件具有端子(例如,汲極或類似的端子)連接於負求和節點。兩電流產生元件上剩下的端子連接於參考電壓,參考電壓可為兩電流產生元件共用。當下列條件發生時,每一對電流產生元件提供預先決定量的電流至兩求和節點:輸入節點位於啟動電壓,且兩求和節點位於預先決定的目標電壓。此處所指的啟動電壓係有關由可編程電流源所提供的電流開始隨電壓增加而增加的電壓值。因此,啟動電壓可能有關於造成可編程電流源產生可偵測的電流訊號的電壓值。這兩個所提供的電流之間的差異係代表一數值,這個數值在複數個電流產生元件對之間變化。由於每一
對電流產生元件電性連接於相同兩求和節點,它們的電流自然會在這些節點上加總,使得兩節點之間電流的總差量會相等於電流產生元件對的和。
為了達成上述的結果,積體電路包含共模電流產生電路、差動電流產生電路以及比較電路。共模電流電路量測兩求和節點的平均電壓並且輸出相同大小的電流至每一節點,使得平均電壓變成相等於目標電壓。差動電流電路輸出已知的變動電流至每一條大小相同但方向相反的線路。此外,或者,如此處所述的差動電流電路可用以輸出已知大小變動的電流至每一條線路,其在相同方向(換言之,同號)或相對方向(例如,不同號)上。比較電路輸出訊號其指示哪一條加總線的電壓較高。當比較輸出電路改變時,已知的是兩求和節點會有一瞬間暫時相等於目標電壓(例如,交錯),差動電流電路所產生的電流會相等於加總值,且差動電流的值可以作為結果記錄下來。
於是,可以達成減少DAC架構與電腦的電路面積的目的且具有高功率效率,其可致能邊際運算裝置與相似的裝置來執行複雜且運算繁重的操作,包含本地輸入資料源的AI運算。
作為上述混合訊號運算架構的改良,本申請之一個或多個實施例係實施全域(參考訊號源)DAC其與複數個本地端(輸出)DACs可操作溝通及控制複數個本地端(輸出)DACs,如美國專利臨時申請案(62/559,354)以及美國專利申請案(16/127,488)中所述,其整體內容透過引用併入本申請。該些前案中的實施例於此進一步說明用來解決了混合訊號運算架構的基礎技術問題透過能創造出許多準確的數位至類比轉換器DACs而不會佔用到大量的晶片區域。相較之下,現代DACs一般可能會為了匹配它們各種元件的限制而變成體
積龐大,這也決定了裝置大小的下限。一旦DAC的解析度超過6-8位元,這個技術問題也隨之變得更明顯。結果是,一旦在DAC的架構中要考量到雜訊與速度時,這些傳統DACs在大小跟能量上都不夠有效率。
全域(參考)DAC對每一個本地端(鏡像)DACs係作為訊號源(在一些實施例中,更是唯一的參考訊號源)。在一較佳實施例中,本地端DACs用來連續累加由全域DAC經過數個時脈週期所產生的類比參考訊號。在此實施例中,每一個本地端DACs累加的訊號係儲存在電容或其他能量儲存裝置上以提供新的或全部的輸出(例如,表示參考訊號的累加值之一電荷)。
因為每一個本地端DAC一般會分別需要專用的參考裝置來提供參考訊號,於是,以上述方式實施全域DAC致能用以驅動本地端DACs所需要的高精密度參考裝置的數量可以獲得減少。在傳統DACs中,參考訊號的產生電路以及輸出電路經常整合於單一大型DAC上。於是,在本申請數個實施例中,全域DAC係用來提供精確的源訊號至複數個本地端DAC中的每一個,因此改善了實施正確的DACs的匹配需求,特別是,需要複數個參考訊號源DACs才能驅動複數個本地端輸出DACs(例如,消除1對1的匹配)。於是,可以達成減少DAC架構與電腦的電路面積的目的且具有高功率效率,其可致能邊際運算裝置與相似的裝置來執行複雜且運算繁重的操作,包含本地輸入資料源的AI運算。
當混合訊號運算電路由包含全域DAC所控制的本地端DACs的陣列的架構來實施時,相較傳統積體電路提供可觀的操作效率以及晶片大小使用效率,但仍然存在改善操作效率且增加運算速度的機會。
於是,本申請之一個或多個實施例,有益的實施陣列的DAC拓樸其致能每一類比至數位轉換器(ADC)對應一DAC架構並且允許使用二元搜尋演算法,其每次計算僅需要N個週期而非2^N個週期。本實施態樣的技術好處包含有效率使用能量(使用較少能量)並且在矩陣乘法計算及/或相似運算中改善積體電路的操作效能(例如,較快的運算)。
舉例來說,對一些ADC架構來說,在非二進位的加權全域DAC的實施態樣中,全域DAC一般被需要來執行基本或全拂掠(full sweep)位元值。在本示例中,如果8-位元全域DAC被實施,8-位元全域DAC將會用來拂掠(sweep)256-位元值(2^8)並且據以產生256個參考訊號至陣列中的每一個ADC。於是,使用本實施態樣將會需要至少256個時脈週期來執行計算。
如上所述、二進位制加權DAC係被提出來在大約N週期中執行N-位元計算。
應該注意的是,除二元搜尋以外,任何合適的搜尋演算法皆可被實施,但不限於,LSB第一二元搜尋、非二進位搜尋。
如圖1所示,用來實施運算繁重的程式及/或應用的混合訊號運算的積體電路100包含輸入電路110、複數個可編程電流源120、第一求和節點130、第二求和節點140以及讀出電路150(例如,類比至數位轉換器)。較佳地,讀出電路150包含差動電流電路151與共模電流電路156,如圖8A中示例所示。
積體電路100較佳用來在類比領域(而非數位領域)中為運算繁重的應用或程式執行加權求和運算,透過預先儲存運算權重或相似的係數在電
流產生元件(例如,複數個可編程電流源等等)中,並且使用電流產生元件以對應輸入來產生電流值輸入,混合訊號電路則可以被實施基於由電流產生元件所產生的電流值的權重求和計算來識別輸出碼(例如,數位輸出)。
輸入(產生)電路110較佳用來提供輸入訊號至可編程電流源120的一個或多個陣列。在一些實施例中,輸入電路110被設置來為複數個可編程電流源120產生及/或提供一組輸入訊號。輸入電路可用以從一個或多個輸入訊號源接收數位(例如,二進位)輸入訊號或類比輸入訊號。一個或多個輸入訊號源可包含另一個積體電路層其與輸入電路110可操作訊號的通聯、外部輸入感測器(例如,攝相機等等)、開關、晶片外(off-chip)裝置或電路(例如,晶片外記憶體等等),以及類似的電路。輸入電路110可額外用來在積體電路100中以多步驟的方式提供數位輸入訊號,其中每一對可編程電流源接收一連串的輸入訊號並且產生一連串的對應的輸出以作為回應。
在一些實施例中,輸入電路110可被設置為具有多個訊號輸出埠的單一電路其中多個輸出埠中的每一個輸出埠可電性耦接於可編程電流源120的訊號輸入端子。也就是說,每一訊號輸出埠可電性耦接或電性連接於可編程電流源120的對應的訊號輸入接收端子或經過配對的可編程電流源120的對應的訊號輸入接收端子。此外,或者,輸入電路110或可被設置為多個不同的電路其中多個不同的電路中的每一個係包含單一訊號輸出埠其被設置電性耦接於可編程電流源120的訊號輸入端子。
在一些實施例中,輸入電路110可被設置為轉換數位輸入訊號至類比輸入訊號。在此實施例中,輸入電路110可包含數位至類比轉換器其用來接收數位輸入訊號並且轉換數位輸入訊號至電路100的類比電路所能理解的類比輸出訊號。舉例來說,輸入電路110可用以從數位感測器接收二進位的輸入訊號並且轉換二進位的輸入訊號至電壓訊號並且傳送電壓訊號至可編程電流
源120。於是,輸入電路110可包含電壓控制器電路(例如,微控制器其具有電腦處理器或類似電路)其被設置基於所接收的輸入訊號來產生變動的電壓訊號以控制可編程電流源120。
在一較佳實施例中,複數個可編程電流源120可成對配置其透過將可編程電流源120的閘極端成對連接被設置成電性通聯或電性連接;然而,應該注意的是可編程電流源可以任何適合的方式成對連接。較佳地,不同對的可編程電流源係被配置在不同的排或欄因此形成縱向或橫向的陣列;然而,在不同實施例中,成對的可編程電流源可被配置在3排左右或任何合適的數量的排中。此外,每一電性連接成對的可編程電流源120可進一步被設置成電性耦接於或電性連接於輸入電路110,如上所述。也就是說,一對可編程電流源120的一個或多個閘極端可被用來彼此電性連接經過配對的可編程電流源120以及電性連接至輸入電路110的輸入節點(埠)或電路。在一些實施例中,每一對可編程電流源120包含控制端其被配置電性耦接於輸入電路110的輸出節點且經過配對的可編程電流源120的一個或多個端子可連接於參考產生器或參考電路,其可共用於複數個成對的可編程電流源中的每一對。參考產生器,在一些實施例中,包含任何合適的參考源,像是全域DAC其可用以產生並且提供參考值至每一對可編程電流源120。這樣設置的結果是輸入電路110可有能力經過一對可編程電流源120的閘極端子傳送單一輸入訊號且每一對電流源可以用來從輸入電路110接收相同的單一輸入訊號。
當每一可編程電流源120的汲極端子連接於各自的電流求和節點,一對可編程電流源120的每一可編程電流源120的源極端子可連接於地或任何合適的參考電壓。在一較佳實施例中,一對電流源的第一可編程電流源120的汲極端子可電性連接於第一電流求和節點130且電流源對的第二可編程電流源120的汲極端子可電性連接於第二電流求和節點140。相似地,電流源
對的每一個第一可編程電流源120與第二可編程電流源120的源極端子可電性連接於各自的地或任何合適的參考電壓。
在一較佳實施例中,經過配對的可編程電流源120的陣列可配置於電路100中。在此實施例中,陣列的每一成對的可編程電流源120的第一可編程電流源可共用第一電流求和節點130且每一成對的可編程電流源120的第二可編程電流源可共用第二電流求和節點140。在此實施例中,第一求和節點130可用以加總由每一個第一可編程電流源所提供的正電流且第二求和節點140可用以加總由每一個第二可編程電流源所提供代表負值的電流(例如,被給予負值權重的電流)。於是,經過配對的可編程電流源120的陣列可配置於電路100中以受益於克希和夫電流定律(Kirchhoff’s Current Law,KCL),來達到沿每一個第一與第二求和節點130、140加總由可編程電流源120的陣列所提供的電流的目的。
在一實施態樣中,可編程電流源120的兩個或更多陣列可配置於電路100中,如圖5中示例所示。在本多欄配置中,每一個可編程電流源120的兩個或更多陣列係形成欄,其共用輸入產生電路110與差動電流電路151的控制邏輯電路152(例如,微控制器其具有電腦處理器,處理電路,或類似的電路),如圖3-4中示例所示。在本配置中,電路100可以達成擴展的效果,因為電路100的一個或多個組件包含輸入產生電路110以及至少差動電流電路151的微控制器其電路不會重覆。
在第二實施態樣中,可編程電流源120的兩個或更多陣列可配置於電路100中,類比多工器170可額外配置於電路100中以致能可編程電流源120的多個欄或陣列來共用差動電流源153、共模電流電路156以及電流源158、以及比較電路160,如圖6中示例所示。較佳地,類比多工器170用來分別從可編程電流源120的陣列或第一欄以及可編程電流源120的陣列或第二欄
接收經過加權求和的電流。在操作中,類比多工器170可用以變換經過加權求和的電流從可編程電流源的每一欄或陣列流進讀出電路150。如此一來,讀出電路150的類比至數位轉換器的功能性可以攤銷至多個欄。當本實施態樣以可編程電流源120的兩欄或陣列進行說明時,應該理解的是類比多工器可以擴展至以可編程電流源120的任意數量的欄或陣列來實施。
在第二實施態樣的一變化態樣中,可編程電流源120的多個欄中的每一欄的輸出狀態可以連接起來成為一平移鏈使得從可編程電流源120的每一欄的輸出結果可以在電路100中執行的加權求和計算結束時平移出平移鏈。這可在沒有足夠空間對電路100中實施的每一個可編程電流源120的多個欄放置輸出電路的情況下提高致能電路100的電路面積使用效能。
第一求和節點130與第二求和節點140可包含任何種類可傳送或攜帶電荷的渠道。舉例來說,第一求和節點130與第二求和節點140可包含電導體(例如,金屬絲或線,可導電的液體等等)。應該注意的是任何合適的電渠道可被用來實施第一與第二求和節點130、140。
每一個複數個可編程電流源120較佳用來對應(類比)輸入訊號(例如,電壓等等)產生電流值。在一較佳實施例中,可編程電流源120包含阻抗電路其當施加電壓時用來產生電流值。阻抗電路可以是任何種類的可重新設置的電阻(換言之,可調整的電阻)且較佳地,阻抗電路包含NOR閘快閃電晶體其可被編程來儲存任何合適的或可重新設定的電阻值或係數。此外,或者,阻抗電路包含阻抗隨機存取記憶體(RRAM或ReRAM)其為一種非揮發性隨機存取電腦記憶體其可操作來改變橫跨一絕緣固態材料兩端的阻值,其亦可作為憶阻器。在一些實施例中,可編程電流源120可被實施來使用一端子(1T)或兩端子(2T)NOR閘快閃電晶體及/或其他快閃記憶體。應該理解的是可編程電流
源可由各種電流產生裝置來實施,包含其他種類的NOR閘與NAND閘快閃裝置,RRAM裝置,或是本領域中公知的任何適合的裝置。
在一較佳實施例中,可編程電流源120可以預先配置有一權重或係數。舉例來說,機器學習模型(例如,神經網路模型)的權重及/或係數可以被映射至成對的可編程電流源120。
如上所述,可編程電流源120較佳成對配置且預先經過編程,使得當相同輸入電壓訊號橫跨施加於可編程電流源120對上時,可編程電流源120對輸出一對電流(由對中的每一各別電流源輸出的電流)其具有差值,其被編程為特定的或預先決定的值。於是,經過配對的可編程電流源120中各別電流源之間的差值可由編程所產生的可編程電流源配置成電性耦接於(正)求和節點130至預先決定的值(例如,正權重或正係數),及/或可編程電流源配置成電性耦接於(負)求和節點140至預先決定的值(例如,正權重或正係數。於是,當輸入電路100在兩求和節點中的每一節點皆位於一目標電壓(VTARGET)的條件中提供輸入訊號,其包含電壓輸入至經過配對的可編程電流源120時,可以達成由可編程電流源120輸出的電流對具有預先決定的差值。更進一步地說,如下更詳細的說明,讀出電路150可用以創造兩求和節點的目標電壓條件且當創造此條件時,讀出電路150亦可用來決定可編程電流源120的電流的加總過後的差值。於是,加權求和計算結果可透過對一組給定的輸入決定經過加總的電流差值的這種方式被決定。
讀出電路150較佳係以加權求和電流訊號來決定數位輸出訊號或碼。讀出電路150較佳包含差動電流電路151、共模電流電路156以及比較器電路160其一同操作來對一組給定的輸入決定加權求和計算結果。
在本申請之一個或多個實施例中,讀出電路150較佳包含類比至數位轉換器(ADC)。由於經常源自製程缺陷的良率問題,積體電路100可以由
實施冗餘的ADC來對應故障的發生。在一個或多個特定的實施態樣中,當發生故障時,欄的冗餘可在故障時被實施來取代完整的ADC。應該注意的是欄及/或排的冗餘都可以用來實施。
更進一步地說,在該等實施例中,對積體電路中N個ADC的每一集合均可能佈署有數個冗餘的ADCs(X)。在使用或操作中,在一給定的集合中冗餘的ADC的輸出可經過多工進入全部N個ADC輸出。此架構允許透明的設計其不會附加額外的寄生電路至敏感的類比節點。在一變化實施態樣中,當需要冗餘的ADC時,每一個有缺陷或損毀的ADC可以平移一階。如此一來,可以有較少的佈線但可能會需要數位製程來查覺冗餘實施態樣。舉例來說,在晶片做好後,壞的ADC位置儲存在保險絲或類似的電路,冗餘的ADC被設定來取代有缺陷的ADC。
差動電流電路151較佳包含電流源153以及差動微控制器電路152,以使用電流源153控制電流產生電流。差動電流電路151較佳用來產生並供應差動電流值至每一個第一與第二電流求和節點130、140。在使用中,差動電流電路151與相關聯的電流源153可用以根據已知的差值一次產生兩電流,並且提供一電流至每一個第一與第二求和節點130、140。較佳地,由差動電流電路151的電流源所產生的兩差動電流,可大小一樣但具有相反的符號(例如,大小一樣的一正電流與一負電流[50A,-50A])。此外,或者,由兩差動電流電路151的電流源所產生的兩差動電流的大小,可變化使得由兩電流源153基於來自差動電流電路151的輸入訊號所供應的第一電流訊號與第二電流訊號可已有不同的大小(例如,[+8A,+2A],[+4A,+6A],或類似的電流大小)。
差動電流電路151的兩個差動電流源153中的每一個,電性耦接於第一電流求和節點130與第二電流求和節點140中之其一。在一些實施例
中,兩差動電流源153中的每一個係共用第一電流求和節點130與第二電流求和節點140中之其一的一直接電連接點,使得兩電流源的每一個端子電性連接於或電性耦接第一與第二電流求和節點130、140中之其一。
在一實施態樣中,差動電路151包含數位至類比轉換器(DAC),其具有電流鏡作為控制器,且電流鏡係預先經過編程或可存取一組已知的數位輸入值或碼。DAC較佳用來改變由兩電流源153所供應的差動電流訊號,透過轉換已知或預先設定的數位輸入值至類比訊號(例如,差動電流訊號)。電流鏡可用以經由一主動裝置(或電流源)複製第一電流,透過控制另一個主動裝置中的電流,同時無論負載維持輸出電流固定大小。在一較佳實施例中,電路定義電流鏡包含反相電流放大器或類似的電路以用來反轉電流方向。
在使用中,具有電流鏡的DAC可用以爬升或拂掠(ramp or sweep)透過一組已知數位值作為輸入至DAC,且輸出結果(且變動的)電流訊號其可被加入至每一個第一與第二求和節點130、140。在一較佳實施例中,DAC可自最負已知數位值爬升或拂掠至最正已知數位值。此外,或者,DAC可自最正已知數位值拂掠至最負已知數位值。儘管這些實施例中的一些可實施差動電流電路包含具有電流鏡或類似的電路的DAC來產生兩個差動電流,應該理解的是任何合適的及/或已知裝置用來產生差動電流皆可被實施。
共模電流電路156較佳包含兩個電流源158、共模控制電路157(例如、微控制器其具有電腦處理器、處理電路或類似的電路)、放大器,以及共源放大器級,如圖1中示例所示。共模電流電路較佳用來經由量測電路(其可感測電壓、電流或任何電參數或電荷)量測第一與第二求和節點130、140的平均電壓。作為響應,共模控制電路157可用以調變電流源158來輸出電流訊號至每一個第一與第二求和節點130、140使得第一與第二求和節點130、140的平均電壓等於或大致等於目標電壓(VTARGET)。在一較佳實施例中,由兩
電流源158所產生或供應的電流訊號輸出至每一個各別同號同大小的求和節點130,140。
如圖3A所示,在一實施態樣中,共模控制電路157可被實施具有放大器A其驅動電路157的電晶體的閘級電壓,直到輸入在每一個第一與第二求和節點130、140與所需的共模電壓(VTARGET)相等。應該注意的是共模控制電路157的電晶體可以以一個或多個NMOS電晶體、PMOS電晶體及/或任何合適的或任何電晶體來實施。
此外,或者,如圖3B所示,共模控制電路157可用切換式電容反饋網路實現,以調變電路157的電晶體的閘極電壓。
在一較佳實施態樣中,共模控制電路157包含切換式電容反饋網路,在共模控制電路157中,切換式電容反饋網路可被施作程具有一架構,其可屏蔽敏感的輸出電壓不受切換訊號影響,切換訊號會造成其輸出電壓節點上的訊號擾動。再者,因為共模迴授電壓可需要大量的擺動以涵蓋由可編程電流源(例如,快閃記憶胞等等)所產生的共模電流的全距,交換式電容迴授電路的有效增益應該較正常情況更高。如圖3C中示例所示,切換式電容反饋網路可較佳地以具有放大器A1實現,其驅動理想電壓(目標電壓)來追蹤所產生的共模迴授電壓,因此以共模電流值改變理想電壓的設定。此外,在共模迴授電路中,放大器A2可提供來屏蔽敏感的輸出電壓不受切換訊號的影響。
由於不完美的電路組件及/或電路100的電路設計中的一個或多個副作用,補償電路及/或補償方法可實施在電路100中來減輕在電路100電路設計中的副作用或其他非本意所造成的問題。作為一示例,共模電流驅動電晶體之間的偏差會造成流經可編程電流源120的電流的偏差,因此敗壞了來自輸入電路110的輸入訊號。於是,在實施電路100之前,共模電路156可被校準來補償電流的偏差(換言之,電流的偏差可以被校正掉)。
舉例來說,在一個或多個實施態樣中,共模控制電路157可額外包含用於共模依賴偏差的電路。如上所述,用來調整共模輸出電壓的電晶體在製程之後,可能會具有一些參數不匹配因此即使從共模迴授電路給定相同的輸入電壓,在兩裝置之間可使用不同的跨導值,兩電晶體可產生不同的電流值。這個電流值的差值或電流誤差會ADC放大器(例如,前端ADC放大器)的輸出上的差動電壓表現出來,導致ADC中產生偏差。於是,因為共模電流改變,根據任何一個共模電流的情況被計算,這電晶體裝置誤差可能會造成更大或更小的有效電流誤差。在本申請之一個或多個實施例中,偏差或電晶體裝置誤差可以透過使用一共用的共模調整電晶體調變兩電流引導電晶體的閘極電壓來被校正。
在第一實施態樣中,如圖3D中示例所示,兩放大器可被提供來驅動NMOS電晶體的閘極電壓,當電路157位於已知的操作條件中,閘極電壓滿足輸出相等於所需的共模電壓。本第一實施態樣的一變化態樣中,共模控制電路157可僅使用單一放大器來實施,單一放大器可在兩電晶體之間切換來產生電壓值其在操作的兩階段中匹配共模目標電壓。
如圖3E中示例所示,在第二實施態樣中,位於ADC的前端的放大器可自動歸零,其中輸出電壓係短路至電容輸入節點,且電壓差動係以閘極電壓儲存於兩NMOS電晶體上。於是,為了避免對由快閃記憶胞所產生的差動電流值校正,輸入係在偏差效正階段被反向(換言之,自動歸零)並且接著輸入在計算(換言之,非自動歸零)階段被轉正。這兩階段程序可用以保存訊號不被校正並且重覆訊號藉由儲存反轉值在電流引導電晶體(NMOS)的閘極。
較佳地,在補償校正的第一階段,一組經過選取的可編程電流源120可電性連接於第一求和節點130(例如,正求和節點)。在本實施態樣中,共模電路156的放大器係用來驅動第一電容其係由電壓參考(Vref)所參考,使得
第一求和節點130相等或大致相等於目標電壓(VTARGET)。在本階段中,電壓參考Vref係被選取來致能共模電路156的放大器的良好操作條件且可表達在PMOS裝置(例如,電晶體)的閘極上所需要標稱(nominal)值來達成目標電壓VTARGET不具有偏差的目的。於是,共模電流電路156的放大器驅動橫跨第一電容兩端的電壓其表示該電晶體相對一理想狀態的偏差。
在第二階段,可編程電流源120(具有相同的電流訊號)中所選取的可編程電流源120組(換言之,同一組)可連接於第二求和節點140(例如,負求和節點)。共模電流電路156放大器可用以驅動第二電容其可亦可被電壓參考(Vref)所參考使得第二求和節點140等於或大致等於目標電壓(VTARGET)。
補償校正的第一階段與第二階段的結果,第一與第二電容之間的電壓差可表現在由兩PMOS裝置所產生的電流(例如,補償電流)的偏差。應該注意的是補償校正可以用校正的第一與第二階段之間任何組可編程電流源120來實施,並且可在第一或第二階段中操作在第一求和節點130或負求和節點140上。還應該注意的是電路100中實施的電晶體可以是NMOS,而共模電路156的電晶體可是PMOS,NMOS電晶體與PMOS電晶體可的排列可以翻轉或交換位置,使得實施NMOS電晶體與PMOS電晶體的共模電路156可在其他地方包含差動電流電路151一起實施。
在操作,共模電路156的放大器可用以驅動差值儲存電容的底版以使得共模電流驅動每一電流源158接收由其所儲存的對應偏壓所調整的電壓。
第一與第二求和節點130,140較佳具有差動電流的兩電流源其包含經過加總的可編程電流源120與差動電流電路151。在操作中,當差動電流的電流源相等但反向,它們會彼此抵銷,而結果是將不會有差動電流。當此差動電流為零的條件發生時,共模電流電路156與兩電流源158將會使第一
與第二求和節點130,140與目標電壓(VTARGET)相同,因此致能所有差動電流都會在正確電壓條件下。
讀出電路150較佳用來在差動電流的兩電流源之間藉由改變由電流源153所產生的差動電流,並且讀取比較電路160的輸出來識別或決定相同但反向的電流條件。當差動電流的兩電流源之間的差值不等時,兩求和節點130、140中的一個求和節點將會具有一個確定電壓,其大於另一求和節點的確定電壓,並且比較電路160將會維持或產生第一輸出其係指示哪個求和節點電壓較高。節點是否具有較高的電壓值可取決於差動電流電路151是否供應比可編程電流源120的和更多正或更多負差動電流。如上所詳述,由差動電流電路151所供應的差動電流可從最負值拂掠(swept)至最正值,或反過來從最正值拂掠(swept)至最負值,且比較電路160將會在兩差值在電流交錯時改變其輸出。也就是說,當兩差動電流源的和等於零或第一與第二求和節點130,140經過加總的電壓值等於目標電壓(VTARGET)時,比較電路160將會改變其輸出。在比較電路160改變其輸出的時後,由差動電流電路供應至求和節點的差動電流值可以被記錄下來,並且提供給類比至數位轉換器參考以產生數位輸出碼其可代表兩可編程電流源120的加權求和差值。進一步地說,在那時後,已知的是對第一與第二求和節點130、140的兩差動電流的總和來說,所記錄的由差動電流電路所供應的兩差動電流值大小相同但方向相反。
如所示圖7,用來實施對運算繁重的程式及/或應用進行混合訊號運算的系統700包含全域參考產生器710、複數個本地端累加器720以及共用
的訊號路徑725。如圖7A所示,每一本地端累加器720可包含能量儲存裝置722以及電流鏡724。
系統700較佳用來將數位至類比轉換器的一般功能分配置至少兩組件裝置。在數個實施例中,第一組件包含全域參考產生器710其用來定義或產生一個或多個(類比)參考訊號。在一些實施例中,全域參考產生器710可包含二進位制加權全域參考產生器。在數個實施例中,第二組件包含一組本地端累加裝置其用來從全域參考產生器710經由共用的訊號路徑725接收參考訊號以及其他進一步功能,在一些實施例中,第二組件用來在一設定的時間區段中執行一些參考訊號值的四則運算(例如,加法,減法等等)。
系統700可使用至少上述組態來達成延伸與電路面積使用效率(例如,可做成較小的積體電路),藉由允許第一組件為大且有能力對第二組件產生正確的參考訊號,第二組件包含一組小的本地端累加裝置。也就是說,第一組件(其會匹配且限噪)的電路面積與功耗可因此獲得攤銷。因此,系統700致能積體電路架構其可執行運算繁重的操作同時具有極高的電路使用效率及功耗效率。
全域參考產生器710用來對複數個本地端累加器720中的每一個產生參考訊號。較佳全域參考產生器710包含全域DAC,如圖7-7A所示。在本示例中,全域DAC可用以從外部訊號源接收數位訊號(例如,二進位的數或輸入)做為輸入,並且可用來輸出類比參考訊號(例如、電壓或電流訊號)至複數個本地端DACs。於是,基於在全域DAC所接收的數位輸入,全域DAC可用以產生類比參考訊號至本地端累加器(例如,本地端DACs)。此外,或者,由全域參考產生器710所產生並傳送至每一個本地端累加器的參考訊號可以是類比參考訊號,像是電流或電壓,其可被用來控制或驅動本地端累加器720的功能。於是,由全域參考產生器710所供應的全域參考訊號較佳經由共用的訊號
路徑725(例如、共用的或相同的線路)傳送至本地端累加器720,共用的訊號路徑725係可操作的將每一個本地端累加器720彼此連接,也共同連接至同一全域參考產生器710。
關於圖7B,圖7B繪示了全域DAC至本地端DACs架構的一實施態樣,其中複數個本地端DACs(LDACs)用來從單一全域DAC(GDAC)接收一個或多個類比參考訊號。於是,在每一本地端DAC所接收的本地端輸入(例如,A_輸入,B_輸入等等)可以施加來對抗產生一定程度的電流電荷的可調整的電阻。於是,在一些實施例中,可調整的電阻的每一欄可合併起來作為(神經網路的)神經元,在神經元欄中每一可調整的電阻所產生的電流輸出,可匯總形成單一匯總電流輸出(例如,神經元輸出)。然而,應該注意的是,該欄可調整的電阻可應用在任何合適的運算技巧或運算架構。
參考圖7C,其繪示另一個本地端累加器720的實施態樣,其中全域參考產生器710用來對本地端累加器720的以放大器為基底的積分器產生偏壓電壓(例如,全域參考訊號)。本實施態樣的技術優點包含以單一電流源(而非兩電流源)致能本地端累加器720。在一較佳組態中,本地端累加器720具有以放大器為基底的積分器、虛設路徑可被實施來減少當(電晶體)開關切換到開啟或關閉狀態時所發生的電荷注入的效果。本組態可透過額外一個電晶體達成。
一般來說,全域參考產生器710可被設定成具有高速類比設計,有較佳的匹配以及抗噪效能。此外,或者,全域參考產生器710的配置可包含參考訊號產生裝置及/或允許全域參考產生器710產生類比參考訊號的電路,並且也造成全域參考產生器710相對較複數個本地端累加器720中的每一個本地端累加器720大。此外,或者,全域參考產生器710可被設定成依序(例如,一次一個)或同時傳送參考訊號(例如,每一時脈週期多個訊號)。應該注意的是
全域參考產生器710可被設定以任何此處所考慮或本領域公知的合適方式產生及/或傳送參考訊號。
共用的訊號路徑725可以是單一訊號絲,訊號線,或訊號路徑其具有多個連接點至複數個本地端累加器720。共用的訊號路徑較佳用於允許參考訊號從全域參考產生器710傳送至與其連接或沿共用訊號路徑725定位的複數個本地端累加器720中的每一個本地端累加器720。共用的訊號路徑725可被設置使得任何源自全域參考產生器710沿共用的訊號路徑725傳送的參考訊號可由連接於共用的訊號路徑725的每一個本地端累加器720複製或鏡像而得。
在一實施態樣中,共用的訊號路徑725可被全域參考產生器710使用來提供經過序列化的(類比)參考訊號。於是,在本實施態樣中,每一時脈週期共用的訊號路徑725可用以提供單一位元參考訊號至本地端累加器720。舉例來說,如果全域參考產生器710包含3位元DAC或類似的電路,共用的訊號路徑725可個別且連續地提供每一個三位元至複數個本地端累加器720中的每一個本地端累加器720。如此一來,共用的訊號路徑725會致能單一訊號源(例如,全域參考產生器)來提供正確的參考訊號至多個本地端累加器以代替對每一個本地端累加器720使用專用的訊號源。本配置的技術好處在於相當小的電路變可以用於實施運算繁重的應用及/或程式(例如,神經網路模型等等)。
本地端累加器720可用以產生類比輸出至本地端輸出接收器(例如,本地端類比至數位轉換器)或類似的電路。在一較佳實施例中,複數個本地端累加器720包含複數個本地端數位至類比轉換器(LDACs),其可用以在多個時脈週期中,使全域參考訊號從全域參考產生器710產生類比輸出。應該注意的是取決於全域參考產生器710的參考訊號產生模式,複數個本地端累加器720可在單一時脈週期中產生類比輸出。LDACs的配置一般可排除參考訊號產
生裝置,因為對每一個LDACs的參考訊號可由全域參考產生器710所提供,且一般來說參考訊號產生裝置及/或電路是龐大的。
應注意的是,在一些實施例中,每一個複數個LDACs可包含一種或多種的參考訊號累加/聚集/加總/重建電路其用來輸出結果參考訊號,如下更多的詳述。也就是說,當在一些實施例中,本地端累加器720(或LDACs)可用以累加參考訊號,在一些本地端累加器的變化態樣中也可能增加/減少能量儲存裝置的數量或基於全域參考產生器710的編碼方式與每一個各別本地端累加器的配置方式來執行加總功能。
如上所述,複數個本地端累加器720中的每一個本地端累加器720可包含能量儲存裝置,電流鏡724,以及在一些實施例中,包含比較器電路。能量儲存裝置較佳用來於本地端累加器720本地端儲存能量值,像是類比能量值包含電流或電壓值。較佳能量儲存裝置包含電容,然而,能量儲存裝置可以是任何合適的電性能量儲存元件,像是快閃電晶體串聯操作或類似的元件。在一些實施例中,複數個本地端累加器720中的每一個本地端累加器720可用以基於一個或多個訊號輸入(例如,連續的輸入)來對能量儲存裝置執行四則運算。於是、本地端累加器720可用以加入及/或減去能量儲存裝置上的電荷。每一本地端累加器720可,此外,或者,用來基於一個或多個訊號輸入整合(電壓)電荷於電容上。
複數個本地端累加器720中的每一個本地端累加器720的電流鏡724,用來複製或重複經由共用的訊號路徑725所提供的參考電流訊號。特別來說,在一些實施例中,全域參考產生器710經由共用的訊號路徑725來提供參考電流訊號。參考電流訊號可被連接於或沿共用的訊號路徑725放置的每一個本地端累加器720所接收。於是,為了產生或累加輸出訊號的目的,在每一
各別本地端累加器720使用電流鏡724,本地端累加器720複製參考電流訊號(例如,全域參考訊號)。
在一較佳實施例中,電流鏡724包含電路設計經由一主動裝置來複製電流,透過控制在電路的另一個主動裝置中的電流,同時無論負載為何保持輸出電流固定。電流鏡724可用以複製變動訊號電流或固定訊號電流(取決於全域參考產生器710是否提供固定或變動全域參考訊號)且提供偏壓電流及/或主動負載至電路。較佳地,定義電流鏡724的電路包含反相電流放大器(理想上)其,在大多數實施例中,也用來反轉電流方向,或可以是電流控制的電流源。然而,應該注意的是電流鏡可包含任何合適用以複製參考電流訊號的電路。
參考圖7A,其係繪示本地端累加器720之一實施態樣,其中全域參考產生器710用來對本地端累加器720中的兩電流鏡724產生偏壓電壓(例如,全域參考訊號)。由全域參考產生器710所提供的偏壓電壓可被產生使得電流鏡724所複製的電流經過加權。舉例來說,在系統100的全域參考產生器710的二進位實施態樣中,由全域參考產生器710所產生的偏壓電壓可以每個時脈週期都被更新。如此一來,電流鏡724中複製的電流可以二進位的方式改變。在本實施態樣中,連續的輸入或類似的輸入可以是加入本地端累加器720的能量儲存裝置722(電容)的一些電荷或由從能量儲存裝置722減去的一些電荷。加入能量儲存裝置722或從能量儲存裝置722減去的電荷量較佳為本地端累加器720中複製的電流的函數-因為經過複製的電流二進位的方式改變,加入或減去的電荷也以相似或相同的方式改變。於是,對N-位元(例如,8位元)全域DAC或類似的DAC,會需要N(例如,N=8)時脈週期來創造出在本地端DAC所需要輸出。
如圖8所示,積體電路800實施二進位制加權全域參考訊號源805、成對的可編程電流源820、共模電流電路856、本地端差動電流源851、比較器860以及有限態機器870。積體電路800的每一對可編程電流源820較佳用來設定第一求和節點830與第二求和節點840之間的差動電流。共模電流電路856可對應第一求和節點830與第二求和節點840配置,並且用來提供電流至第一求和節點830與第二求和節點840,或是從第一求和節點830與第二求和節點840匯集電流以迫使或將可編程電流源對820導向已知區域操作(例如,平均參考電壓等等)。
此外,積體電路800的每一對可編程電流源820被放置成電性耦接於不同的本地端差動電流源(例如、本地端DAC),其用來調整第一求和節點830與第二求和節點840之間的差動電流值。於是,成對的可編程電流源的多個欄可在積體電路800中被配置,定義成對的可編程電流源的陣列以及每一欄可包含相異且分開的本地端差動電流源851。因此,複數個本地端差動電流源851可存在於陣列中,其中複數個本地端差動電流源係電性耦接至相同的全域參考訊號產生器805。
本地端差動電流源851較佳包含本地端DAC,其用來鏡像由全域參考訊號源805所提供的參考訊號值。此外,每一本地端DAC可包含自己本身的記憶體狀態,其可致能本地端DAC並根據在本地端DAC的記憶體中預先儲存的值來產生類比輸出訊號。在操作中,全域參考訊號源805可用以執行二元搜尋演算法在二元搜尋演算法的每一步驟中,全域參考訊號源使用陣列中排列的每一本地端DAC設定二進位制加權值,以調整其本地端狀態並且對應輸出差動電流訊號。積體電路可使用比較器860評估在每一個第一與第二求和
節點830、840中的電流的相對狀態,以決定哪個節點具有較大的(或較小的)電流訊號。對評估結果作為反應,本地端DAC可基於由全域DAC所提供的二進位制加權參考訊號使用逐步變小的增值來增大或減小第一與第二求和節點830、840之間的電流差動。於是,在第一與第二求和節點830、840的每一差動電流調整後,一比較位元可被輸出至本地端DAC,且經過N週期從N-位元全域DAC接收參考訊號後,矩陣乘法輸出的計算已完成。
在一變化實施態樣中,積體電路800可實施成單一端電路其具有一可編程電流源以及一求和節點。如圖8A中示例所示,在本實施態樣中,共模電流電路可從架構中排除。
如圖2所示,方法200包含接收輸入訊號S210,於一對求和節點S220之間產生差動電流,沿求和節點對調整差動電流至操作S230的已知區域,供應或匯集差動電流至求和節點對S240,基於第一與第二求和節點的差動電流訊號來產生輸出訊號S245,以及識別求和節點對的差動電流的加權求和差值或決定性的輸出碼S250。
S210,其包含接收輸入訊號,用來致能可編程電流源接收一個或多個輸入訊號以回應數位(例如,二進位)或類比輸入。一個或多個輸入訊號可由一個或多個外部裝置(例如,外部感測器等等)、上游本地端裝置、另一個電路層、及/或類似的裝置所供應。在一較佳實施例中,一個或多個輸入訊號包含數位輸入訊號或類比輸入訊號。在接收數位輸入訊號的情況中,S210可用以實施一系統實施方法200的輸入電路來產生數位輸入訊號,其僅具有與由可編程電流源所產生的預先決定的差動電流相關聯的一啟動狀態,或解除狀
態,其中沒有差動電流訊號由可編程電流源所產生。也就是說,每一數位或二進位的輸入訊號可相關聯單一或有限的相關聯的類比電流響應,其也包含電流訊號的零值。
此外,或者,在系統實施方法200接收類比輸入訊號的情況中,S210可用以實施輸入電路來產生類比輸入訊號,其具有多個啟動狀態並對應多個預先決定的電流訊號,以及一解除狀態,其中沒有差動電流由可編程電流源所產生。
在類比輸入訊號在一個或多個可編程電流源被接收的情況中,S220可用以橫跨可編程電流源施加類比輸入訊號,以對每一可編程電流源產生一個或多個電流訊號。較佳地,一組可編程電流源其被配置成對,可一起用以產生差動電流訊號,其中當差動電流訊號一起加總具有大於零的強度時,輸出可編程電流源的電流訊號。在一較佳實施例中,在S210實施的輸入電路包含電壓經過控制的輸入電路且因此,由每一個可編程電流源所接收的輸入訊號包含電壓訊號。於是,當電壓訊號橫跨施加在可編程電流源的可調整的阻抗元件的兩端時,導致電流被產生。較佳地,每一個可編程電流源亦包含預先儲存的權重或係數其改變每一可編程電流源的阻抗元件的阻抗強度。
此外,或者,在一個或多個可編程電流源接收二進位的輸入訊號的情況下,預先決定的電流訊號可由可編程電流源產生,其可處理二進位的輸入訊號。
可選地,S225,其包含沿一對求和節點的每一求和節點加總電流,用來在第一求和節點加總複數個電流訊號並在第二求和節點加總複數個電流訊號。特別來說,在一較佳實施例中,可編程電流源可成對配置,其中電流源對中的第一電流源電性耦接於第一求和節點,且電流源對中的第二電
流源電性耦接於第二求和節點。更進一步地說,多個成對的可編程電流源可被配置,使得每一個電流源對的第一電流源係共用(透過電性連接的方式)第一求和節,且每一個電流源對的第二電流源共用(透過電性連接的方式)第二求和節點。因此,在此設定之下,每一對電流源的第一電流源可供應電流至第一求和節點,且每一對電流源的第二電流源可供應另一個電流至第二求和節點。
於是,S225較佳用來透過可編程電流源的陣列加總供應至第一求和節點的電流訊號以及供應至第二求和節點的電流訊號。
S230,其包含施加共模電流訊號至求和節點對的每一求和節點,其係用來量測求和節點對之間的平均電壓並且作為響應產生並且提供兩共模電流訊號至求和節點對。兩共模電流訊號較佳具有相同大小與方向。因此,S230可用以使用兩共模電流訊號來調整求和節點對的平均電壓以匹配預先決定的目標電壓。
在一較佳實施例中,S230使用共模電流電路來產生共模電流訊號,共模電流電路包含兩電流源與微控制器電路。當由S230實施時,微控制器求和節點對的量測平均電壓,計算共模電流訊號以達成在求和節點對有平均目標電壓,並且經由兩共模電流源供應共模電流訊號至求和節點對的每一求和節點。
S240,其包含供應差動電流訊號至一對求和節點,較佳用來產生基於搜尋的差動電流訊號其具有相同大小但方向相反(換言之,一正一負)至每一個第一與第二求和節點對。此外,或者,S240或可用以供應差動電流訊號至求和節點對其具有變動的大小及/或具有(例如,兩者皆正訊號或兩者皆負訊號)或相反(例如,一正訊號以及一負訊號)方向。
在一較佳實施例中,S240可用以一起實施全域參考訊號源(例如,全域DAC)與本地端差動電流訊號源(例如、本地端DACs)的陣列。於S240中實施的全域參考訊號源可對本地端差動電流訊號源的陣列作為共同參考訊號源。舉例來說,積體電路可實施成對的可編程電流源的陣列或多個欄。在本示例中,每一欄可包含共模電流電路、本地端差動電流訊號源,至少一比較器,以及可選的有限態機器或類似的電路。於是,在本實施態樣中,全域參考訊號源可用以沿共用的訊號路徑參考訊號供應至排列於陣列的成對的可編程電流源的每一各別欄中的每一本地端差動電流訊號源。
在一較佳實施例中,由S240所實施的包含全域DAC以及每一個本地端差動電流訊號源的全域參考訊號源係包含本地端DAC。較佳地,全域DAC包含N-位元全域DAC其用來在全部N週期中供應全部N位元的參考訊號至本地端DAC以用來執行運算。
在第一實施態樣中,S240可造成本地端差動電流源供應一組初始差動電流訊號至(陣列中的一欄的)第一求和節點與第二求和節點,以回應在第一求和節點與第二求和節點中偵測到可能由一對可編程電流源所供應的電流訊號。在本實施態樣中,基於全部N位元中的初始(或第一)參考訊號位元,本地端差動電流源可用以產生從全域參考訊號源供應初始差動電流訊號至節點。
然而,在此第一實施態樣中,S240可以使用本地端差動電流源來供應隨後的差動電流訊號至第一與第二求和節點,以回應來自比較器或有限態機器或類似的裝置中之一的輸出訊號(S245)。輸出訊號較佳指示一個或多個在第一求和節點與第二求和節點的差動電流和的電壓,是否大於或小於目標電壓(VTARGET)值或者和的電壓是否已經交錯了目標電壓VTARGET值。
在第二實施態樣中,S240可造成本地端差動電流源供應一組初始差動電流訊號至第一求和節點與第二求和節點,以回應來自比較器或有限態機器或類似裝置的輸出訊號。也就是說,在此第二實施態樣中,初始組的差動電流訊號可僅在來自比較器或有限態機器的訊號輸出一被接收到之後,由本地端差動電流源所供應。在此第二實施態樣中,基於N位元中的初始(或第一)參考訊號位元,本地端差動電流源可用以從全域參考訊號源來產生初始差動電流訊號。
在一較佳實施例中,全域參考訊號源可根據預先決定的格式及/或根據預先決定的一組數值來產生一組N位元參考訊號至本地端差動電流源的陣列。舉例來說,全域參考訊號源可用以產生一組N位元參考訊號,其強度隨著每一接續的參考訊號的供應而減少(或增加)。在一些實施例中,一組N位元參考訊號的參考訊號的減少可以是系統化且基於預先決定的衰變演算法的。舉例來說,全域參考訊號源可將接續的參考訊號的強度衰變為一半(例如,½,¼,1/8,1/16等等)或任何合適的分數值或衰變率。於是,對來自全域參考訊號源一組N位元參考訊號值來說,參考訊號的值可減少以使得一組N位元參考訊號值的第一參考訊號最大且該組N位元參考訊號值的最後參考訊號最小。於是,對一組N位元參考訊號的參考訊號值的減小連續,可被供應至每一本地端差動電流源以允許求和節點的結果電壓在N週期結束時涵蓋電壓參考,如圖9中示例所示。
S245,其包含基於第一與第二求和節點的差動電流訊號來產生輸出訊號,用來沿第一與第二求和節點評估差動電流訊號並且回傳輸出訊號至本地端差動電流源。如上所述,輸出訊號較佳指示第一與第二求和節點的所量測到的電壓對應於目標電壓的位置。
在第一實施態樣中,S245可用以實施有限態機器來產生輸出訊號至本地端差動電流源。在此第一實施態樣中,S245可用以決定第一與第二求和節點的電流訊號的加權求和差值以及節點的結果電壓,並且進一步產生節點的結果電壓與預先設定的目標電壓值的比較結果。S245較佳輸出結果電壓與目標電壓值的比較結果至有限態機器。
在此第一實施態樣中,有限態機器較佳以兩可識別的狀態來實施並且用來輸出兩狀態之一至本地端差動電流源。舉例來說,有限態機器可預先經過編程來識別第一與第二求和節點的結果電壓是否大於(換言之,高於)或小於(換言之,低於)目標電壓值。在另一個示例中,有限態機器可預先經過編程來識別第一與第二求和節點的結果電壓是否交錯目標電壓值或沒交錯目標電壓值。在有限態機器中,S245可用來決定確定的狀態。
應該注意的是,在此第一實施態樣中,有限態機器僅以兩可識別的狀態來實施,然而有限態機器可以任何數量狀態來實施並且用來從可用的狀態數量中輸出一狀態。
在第二實施態樣中,S245可用以實施複數個比較器(例如,三個比較器)來解讀求和節點對的電壓狀態與比較器的目標電壓之間的關係。舉例來說、第一比較器可用以決定求和節點對的電壓是否大於(高於)目標電壓、第二比較器可用以決定求和節點對的電壓是否交錯目標電壓,以及第三比較器可用以決定求和節點對的電壓是否小於(低於)目標電壓。複數個比較器的輸出可迴授至本地端差動電流源。
於是,一旦從S245接收到輸出訊號時,S240較佳用來供應一組差動電流至第一求和節點與第二求和節點。較佳地,本地端差動電流源用來產生差動電流訊號其基於從有限態機器或類似裝置輸出訊號的值,從第一與第二求和節點供應或匯集電流。也就是說,如果由有限態機器供應的輸出訊
號指示第一與第二求和節點的結果電壓低於(或小於)目標電壓,那麼本地端差動電流源可用以產生差動電流訊號,其增加第一與第二求和節點的經過加總的差電流訊號值,且於是,增加節點的結果電壓值。如此一來,節點的結果電壓會移向目標電壓。反過來說,如果由有限態機器供應的輸出訊號指示第一與第二求和節點的結果電壓高於(或大於)目標電壓,那麼本地端差動電流源可用以產生差動電流訊號其減少(sinks)第一與第二求和節點的經過加總的差電流訊號值,且於是,降低節點的結果電壓。
此外,或者,S245可用以記錄本地端差動電流源在N週期間的活動。也就是說,在N週期的每一週期間,S245用來對本地端差動電流源匯集或供應至第一與第二求和節點的每一組差動電流訊號記錄其值。
S250,其包含運算求和節點對的加權求和差值,以用來逼近求和節點對反應完成N週期的加權求和差值。
特別來說,S250可透過先逼近第一與第二求和節點的加權求和差值的電壓值至N週期的結束後,在比較器的目標參考電壓來計算求和節點對的加權求和差值。S250可接著將第一與第二求和節點的逼近電壓值減去由本地端差動電流源在N週期間所提供的差動電流訊號的電壓。S250可額外將第一與第二求和節點的逼近電壓值減去基於共模電流電路(S230)的共模電流訊號所提供或匯集至第一與第二求和節點電壓。
於是,一旦第一與第二求和節點減少的電壓值被計算出來,S250可用以基於施加於比較器的電阻值(Rapp)或第一的第二求和節點的經過加總的電流訊號進入比較器之前來計算第一與第二求和節點的電流訊號的加權求和差值。計算的示例可決定第一與第二求和節點的電流訊號的加權求和差值(例如,I加權求和差值=Vred/Rapp)。
此外,或者,S250或可用以轉換電流訊號的加權求和差值至輸出碼其對應於矩陣乘法計算。
在一變化態樣中,單一端的積體電路可被實施,S250可用以基於輸出交錯訊號來沿單一求和節點決定和電流值。在本實施態樣中,全域參考訊號源可提供連續的參考訊號位元輸入至本地端DAC。反過來說,本地端電流源可用以基於連續的參考訊號位元輸入來提供或匯集電流訊號至單一求和節點。
在本變化態樣中,沿單一求和節點上經過加總的電流訊號可被轉換為電壓進入比較器。S250可用以比較單一求和節點的電壓與電壓參考。特別來說,S250可用以收集或傳遞比較器電路的值至一抵銷電路其可用以記錄所比較的電壓交錯的時間。記錄的時間可以與數位訊號在本地端電流源活躍(active)來產生電流訊號提供或匯集至單一求和節點的時間進行比較。
特別來說,S250可用來識別時間或事件其在比較器端單一求和節點的電壓值等於電壓參考。此外,或者,S250可用以識別時間或事件其在比較器端單一求和節點的電壓值交錯電壓參考。S250可用以記錄單一求和節點的電壓等於或交錯電壓參考的時間。
於單一求和節點的電壓與電壓參考之間偵測到電壓相等或單一求和節點的電壓交錯電壓參考時使用,S250可用以於單一求和節點的電壓與電壓參考相等或單一求和節點的電壓交錯電壓參考時所產生的本地端電流源中識別相關聯的數位輸入碼或參考訊號(從全域訊號參考源)。
此外,或者,S250或可用以輸出數位碼(例如多位元訊號)其對應於數位碼輸入或於比較電流值交錯時在DAC中活躍(active)。
可以知道的是,方法200為示例性的方法,其可以於其範圍,或其可於此提供之揭露所能輕易聯想到的範圍內以任何適合的順序來實作,以
達成本發明及/或本發明之實施例。因此,執行步驟的順序不應以所提供之示例中的順序為限。此外,或取而代之地,此處所述之該方法、程序、技巧、及/或系統可以任何適合的組合來執行,以達成一積體電路額外及/或加強的效能。
較佳實施例與其變化態樣的方法可以至少部分由配置來接收儲存於一電腦可讀媒體之電腦可讀指令之一機器來實施及/或實作。該指令較佳可由整合於光刻系統與實施該系統之處理器及/或控制器的一個或更多部分之電腦執行元件來執行。電腦可讀媒體可以儲存於任何適合的電腦儲存裝置上,例如隨機動態記憶體、唯讀式記憶體、快閃記憶體、電子抹除式可複寫唯讀記憶體、光學裝置(CD或DVD)、硬碟、軟碟、或任何適合的裝置。電腦可讀元件較佳為一通用或應用特定的處理器,但任何適合的專屬的硬體或硬體/韌體的結合裝置皆亦可或另外用來執行該指令。
雖然為求簡潔略述,較佳實施例中包含本文所述之方法、裝置與系統的所有組合與變化。
如熟知本領域技術者由先前詳述之說明、圖式與申請專利範圍可知,在不偏離本發明申請專利範圍所定義的範圍下,對於本發明較佳實施例所作出的修改與變化均應落入本發明之範疇。
100:積體電路
110:輸入電路
120:電流源
130:第一求和節點
140:第二求和節點
150:讀出電路
151:差動電流電路
152:控制邏輯電路
153:共用差動電流源
156:共模電流電路
158:電流源
160:比較電路
Claims (17)
- 一種積體電路包含:一二進位制加權全域參考訊號源,其提供複數個控制訊號至一本地端差動電流電路;一第一求和節點與一第二求和節點,其中該第一求和節點與該第二求和節點係配置成電性耦接於該本地端差動電流電路;複數個相異的可編程電流源對,係沿該第一求和節點與該第二求和節點配置,其中每一個相異對之一第一可編程電流源係配置於該第一求和節點上,且每一個相異對之一第二可編程電流源係配置於該第二求和節點上;其中該複數個相異的可編程電流源對中的每一對基於一類比輸入訊號設定該第一求和節點與該第二求和節點之間的一差動電流訊號;一共模控制電路,其係配置電性耦接於該第一求和節點與該第二求和節點中的每一個節點,且從該第一求和節點與該第二求和節點中的每一個節點提供或匯集(sink)一共模電流值;該本地端差動電流電路基於來自該二進位制加權全域參考訊號源的該複數個控制訊號中的一個或多個來調整該第一求和節點與該第二求和節點之間的該差動電流訊號;以及一比較器,其基於該第一求和節點與該第二求和節點的輸出來評估類比值,並且基於該評估結果來產生一輸出值,其中該比較器評估該第一求和節點與該第二求和節點中的每一個節點的一經過加總的電流值的一相對狀態,並且決定該第一求和節點與該第二求和節點中哪個節點具有一較大的電流值,或該第一求和節點與該第二求和節點是否具有等於零的加總電壓。
- 如請求項1所述之積體電路,其中 該本地端差動電流電路調整該第一求和節點與該第二求和節點之間的該差動電流訊號,直到該比較器產生的該輸出值指示該第一求和節點與該第二求和節點具有等於零的加總電壓。
- 如請求項1所述之積體電路,其中該本地端差動電流電路基於該比較器產生的該輸出值,透過提供一逐步變小的差動電流訊號增值至該第一求和節點與該第二求和節點來增大或減小該第一求和節點與該第二求和節點之間的該差動電流訊號。
- 如請求項1所述之積體電路,其中該共模控制電路包含一由單一放大器所驅動的電路以及一交換式電容迴授電路中之其一,該電路係提供該共模電流值至該第一求和節點與該第二求和節點中的每一個節點。
- 如請求項4所述之積體電路,其中該交換式電容迴授電路包含:一第一放大器,其驅動一目標電壓值並追蹤一產生的共模迴授電壓;以及一第二放大器,其在該交換式電容迴授電路中屏蔽敏感的輸出電壓不受切換訊號的干擾。
- 如請求項1所述之積體電路,其中該共模控制電路包含一補償電路,該補償電路包含至少兩放大器,其中該至少兩放大器中的每一放大器係配置電性耦接於兩電晶體中之其一,且該至少兩放大器中的每一放大器係驅動該兩電晶體中的每一電晶體的一閘極電壓至一所需的共模電壓。
- 如請求項1所述之積體電路,其中該共模控制電路包含一補償電路,該補償電路包含一單一放大器,該單一放大器係配置成電性耦接於兩電晶體中的每一電晶體,且該單一放大器於該兩電 晶體之間切換以驅動該兩電晶體中的每一電晶體的一閘極電壓至一所需的共模電壓。
- 如請求項1所述之積體電路,其中該共模控制電路包含一補償電路,該補償電路包含一前端放大器,該前端放大器透過將輸出電壓短路至該第一求和節點與該第二求和節點的電容輸入節點而自動歸零,其中該前端放大器的一輸出電壓差動係以閘極電壓儲存在至少兩電晶體上。
- 如請求項1所述之積體電路,其中該二進位制加權全域參考訊號源執行一二元搜尋演算法,使得在該二元搜尋演算法的每一步驟中,該二進位制加權全域參考訊號源設定相異的一二進位制加權值。
- 如請求項1所述之積體電路,其中:該本地端差動電流電路:係沿一共用的訊號路徑配置;係被配置電性耦接於相異的成對的求和節點;該二進位制加權全域參考源沿該共用的訊號路徑提供複數個二進位制加權訊號至該本地端差動電流電路。
- 一種混合訊號積體電路,包含:一全域參考訊號源,其提供複數個控制訊號至一本地端數位至類比轉換器(DAC);一第一求和節點與一第二求和節點,其中該第一求和節點與該第二求和節點係配置電性耦接於該本地端DAC;複數個相異的電流產生電路對,係沿該第一求和節點與該第二求和節點配置,其中每一個相異的電流產生電路對的一電流產生電路係配置於該第一求和 節點上,且每一個相異的電流產生電路對的一第二電流產生電路係配置於該第二求和節點上;其中該複數個相異的電流產生電路中的每一對係基於一輸入訊號而設定該第一求和節點與該第二求和節點之間的一差動電流訊號;一共模電流電路,其被配置電性耦接於該第一求和節點與該第二求和節點中的每一個節點,且從該第一求和節點與該第二求和節點中的每一個節點提供或匯集(sink)一共模電流值;該本地端DAC基於來自該全域參考訊號源的該複數個控制訊號中的一個或多個來調整該第一求和節點與該第二求和節點之間的該差動電流訊號;以及一比較器或一有限態機器,其基於該第一求和節點與該第二求和節點的輸出來評估類比值,並且基於該評估結果來產生一輸出值,其中該比較器或該有限態機器評估該第一求和節點與該第二求和節點中的每一個節點的一經過加總的電流值的一相對狀態,並且決定該第一求和節點與該第二求和節點中哪個節點具有一較大的電流值,或該第一求和節點與該第二求和節點是否具有等於零的加總電壓。
- 如請求項11所述之混合訊號積體電路,其中該全域參考訊號源執行一二元搜尋演算法、一最低有效位元位元搜尋演算法、一非二元搜尋演算法、一對數搜尋演算法以及一使用者自定義搜尋功能中之其一。
- 一種在積體電路上實施加權求和計算的方法,該方法包含:於複數個相異的可編程電流源中的每一個電流源接收一類比輸入訊號;由該複數個相異的可編程電流源中的每一個電流源基於施加該類比輸入訊號至每一個複數個相異的可編程電流源來產生差動電流訊號; 由該複數個相異的可編程電流源中的每一個電流源提供該差動電流訊號至一第一求和節點與一第二求和節點;量測該第一求和節點與該第二求和節點之間的一平均電壓;提供一共模電流訊號至該第一求和節點與該第二求和節點中的每一個節點以回應該量測結果;由一本地端差動電流源提供基於搜尋的差動電流訊號至該第一求和節點與該第二求和節點;以及基於該第一求和節點與該第二求和節點的輸出來評估類比值,並且基於該評估結果來產生一輸出值,其中該評估結果包括執行一比較器以評估該第一求和節點與該第二求和節點中的每一個節點的一經過加總的電流值的一相對狀態,並且決定該第一求和節點與該第二求和節點中哪個節點具有一較大的電流值,或該第一求和節點與該第二求和節點是否具有等於零的加總電壓。
- 如請求項13所述之方法,其中該本地端差動電流源供應一已知變動電流訊號至該第一求和節點與該第二求和節點中的每一個節點,其中該第一求和節點與該第二求和節點大小相同但方向相反。
- 如請求項13所述之方法,進一步包含:執行包含一N位元全域數位至類比轉換器的一全域參考源,其為執行一運算於經過全部N個週期後提供參考訊號的全部N個位元至該本地端差動電流源。
- 如請求項13所述之方法,進一步包含:沿該第一求和節點與該第二求和節點評估該差動電流訊號;回傳該輸出值至該本地端差動電流源,其中該輸出值指示該第一求和節點相對於一目標電壓的量測電壓與該第二求和節點相對於該目標電壓的量測電壓的電位。
- 如請求項13所述之方法,進一步包含:經過N週期後,運算該第一求和節點與該第二求和節點中的每一個節點經過加總的電流值之間的一加權求和差值;以及將該加權求和差值轉換為一二進位輸出碼。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862644908P | 2018-03-19 | 2018-03-19 | |
US62/644,908 | 2018-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201939270A TW201939270A (zh) | 2019-10-01 |
TWI793277B true TWI793277B (zh) | 2023-02-21 |
Family
ID=67620655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108107419A TWI793277B (zh) | 2018-03-19 | 2019-03-06 | 用於混合訊號運算的系統與方法 |
Country Status (7)
Country | Link |
---|---|
US (5) | US10389375B1 (zh) |
EP (1) | EP3769426A4 (zh) |
JP (1) | JP7306725B2 (zh) |
KR (1) | KR102679656B1 (zh) |
CN (1) | CN111837341B (zh) |
TW (1) | TWI793277B (zh) |
WO (1) | WO2019182730A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019126839A1 (en) * | 2017-12-27 | 2019-07-04 | Nicslab Pty Ltd | Multi-channel power controller |
US11055062B1 (en) * | 2018-02-12 | 2021-07-06 | Areanna Inc. | Switched capacitor vector-matrix multiplier |
US10862502B2 (en) | 2019-03-04 | 2020-12-08 | Analog Devices International Unlimited Company | ADC output drift correction techniques |
US20200320373A1 (en) * | 2019-04-03 | 2020-10-08 | Realtek Semiconductor Corp. | Mixed-signal neurons for neuromorphic computing and method thereof |
EP4070243A4 (en) * | 2019-12-03 | 2024-02-28 | Anaflash Inc. | SERIALIZED COMPUTING UNIT OF A NEURONAL NETWORK |
EP3839833A1 (en) * | 2019-12-16 | 2021-06-23 | ams International AG | Neural amplifier, neural network and sensor device |
US11500010B2 (en) * | 2020-01-17 | 2022-11-15 | Texas Instruments Incorporated | Integrated circuit with current limit testing circuitry |
US11586958B2 (en) * | 2020-04-06 | 2023-02-21 | Micron Technology, Inc. | Apparatuses, systems, and methods for machine learning using on-memory pattern matching |
CN213987512U (zh) * | 2020-04-17 | 2021-08-17 | 神亚科技股份有限公司 | 计算乘积和值的装置 |
US11621040B2 (en) * | 2021-02-17 | 2023-04-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method applied with computing-in-memory |
TWI783854B (zh) * | 2021-03-17 | 2022-11-11 | 神盾股份有限公司 | 乘積和運算裝置 |
US20230049032A1 (en) * | 2021-08-02 | 2023-02-16 | Silicon Storage Technology, Inc. | Output circuitry for analog neural memory in a deep learning artificial neural network |
US20230267973A1 (en) * | 2022-02-21 | 2023-08-24 | Industrial Technology Research Institute | Memory circuit with sense amplifier calibration mechanism |
TWI826041B (zh) * | 2022-10-12 | 2023-12-11 | 旺宏電子股份有限公司 | 記憶體電路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI407682B (zh) * | 2005-03-21 | 2013-09-01 | Integrated Device Tech | 整合式時脈產生器及時序/頻率參考器 |
US20150340098A1 (en) * | 2014-05-22 | 2015-11-26 | Spansion Llc | Methods, circuits, devices and systems for sensing an nvm cell |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2427012A1 (fr) * | 1978-05-24 | 1979-12-21 | Labo Electronique Physique | Convertisseur analogique-numerique binaire |
US5017919A (en) | 1990-06-06 | 1991-05-21 | Western Digital Corporation | Digital-to-analog converter with bit weight segmented arrays |
JPH0467259A (ja) * | 1990-07-09 | 1992-03-03 | Hitachi Ltd | 情報処理装置 |
US5167008A (en) | 1990-12-14 | 1992-11-24 | General Electric Company | Digital circuitry for approximating sigmoidal response in a neural network layer |
US5336937A (en) * | 1992-08-28 | 1994-08-09 | State University Of New York | Programmable analog synapse and neural networks incorporating same |
US5444446A (en) * | 1993-07-01 | 1995-08-22 | Texas Instruments Incorporated | Apparatus and method for duplicating currents |
US5559722A (en) * | 1993-11-24 | 1996-09-24 | Intel Corporation | Process, apparatus and system for transforming signals using pseudo-SIMD processing |
US5446371A (en) * | 1994-05-12 | 1995-08-29 | Fluke Corporation | Precision analog-to-digital converter with low-resolution and high-resolution conversion paths |
GB2373654B (en) * | 2001-03-21 | 2005-02-09 | Fujitsu Ltd | Reducing jitter in mixed-signal integrated circuit devices |
US6690310B1 (en) | 2003-02-13 | 2004-02-10 | Northrop Grumman Corporation | Method and apparatus for adaptively compensating for an inaccuracy in an analog-to-digital converter |
KR100549872B1 (ko) * | 2003-12-10 | 2006-02-06 | 삼성전자주식회사 | 차동 스위칭 회로 및 디지털 아날로그 변환기 |
DE10360241B4 (de) * | 2003-12-16 | 2006-04-27 | Visteon Global Technologies, Inc., Dearborn | Schaltmatrix für ein Eingabegerät |
US6903673B1 (en) * | 2003-12-19 | 2005-06-07 | Benq Corporation | Analog-to-digital converting module capable of converting data at an increased resolution |
US20050203402A1 (en) * | 2004-02-09 | 2005-09-15 | Angelsen Bjorn A. | Digital ultrasound beam former with flexible channel and frequency range reconfiguration |
KR100783492B1 (ko) * | 2004-07-31 | 2007-12-11 | 인티그런트 테크놀로지즈(주) | 차동증폭회로 및 이를 포함한 믹서회로 |
US7202805B2 (en) * | 2005-02-11 | 2007-04-10 | Analog Devices, Inc. | Amplifier gain calibration system and method |
KR100679125B1 (ko) | 2006-03-14 | 2007-02-06 | 한양대학교 산학협력단 | 직접 변환 방식 주파수 혼합기 |
JP5057358B2 (ja) * | 2006-05-17 | 2012-10-24 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
US20080132189A1 (en) | 2006-11-30 | 2008-06-05 | Silicon Laboratories, Inc. | Mixing dac and polyphase filter architectures for a radio frequency receiver |
EP2293165B1 (en) * | 2009-09-02 | 2018-01-17 | ams AG | Multi-current-source and method for regulating current |
US8264255B2 (en) * | 2009-11-03 | 2012-09-11 | Silicon Laboratories Inc. | Radio frequency (RF) power detector suitable for use in automatic gain control (AGC) |
US8275727B2 (en) | 2009-11-13 | 2012-09-25 | International Business Machines Corporation | Hardware analog-digital neural networks |
EP2518660B1 (en) * | 2011-04-28 | 2018-12-26 | IDT Europe GmbH | Circuit and method for performing arithmetic operations on current signals |
US9300462B2 (en) | 2013-05-18 | 2016-03-29 | Bernd Schafferer | Methods, devices, and algorithms for the linearization of nonlinear time variant systems and the synchronization of a plurality of such systems |
US8970418B1 (en) * | 2013-08-19 | 2015-03-03 | Analog Devices, Inc. | High output power digital-to-analog converter system |
EP2849345B1 (en) * | 2013-09-12 | 2020-11-04 | Socionext Inc. | Circuitry and methods for use in mixed-signal circuitry |
US9674009B2 (en) | 2014-12-19 | 2017-06-06 | Rambus Inc. | Receiver with offset calibration |
US9531394B1 (en) | 2015-06-22 | 2016-12-27 | Silicon Laboratories Inc. | Calibration of digital-to-time converter |
US9680496B2 (en) * | 2015-06-25 | 2017-06-13 | Intel Corporation | Apparatus for overload recovery of an integrator in a sigma-delta modulator |
US20170366876A1 (en) * | 2016-06-16 | 2017-12-21 | Analog Devices Global | Current sensing in two-dimensional area sensors |
CN110383282A (zh) * | 2017-02-07 | 2019-10-25 | 密执安州立大学董事会 | 用于混合信号计算的系统和方法 |
US11428717B2 (en) * | 2020-09-25 | 2022-08-30 | Apple Inc. | Current measurement circuit |
-
2019
- 2019-02-26 EP EP19772406.5A patent/EP3769426A4/en active Pending
- 2019-02-26 CN CN201980018221.2A patent/CN111837341B/zh active Active
- 2019-02-26 US US16/285,619 patent/US10389375B1/en active Active
- 2019-02-26 KR KR1020207029829A patent/KR102679656B1/ko active IP Right Grant
- 2019-02-26 JP JP2020548918A patent/JP7306725B2/ja active Active
- 2019-02-26 WO PCT/US2019/019537 patent/WO2019182730A1/en unknown
- 2019-03-06 TW TW108107419A patent/TWI793277B/zh active
- 2019-07-02 US US16/459,841 patent/US10523230B2/en active Active
- 2019-11-14 US US16/683,553 patent/US10903844B2/en active Active
-
2020
- 2020-12-14 US US17/120,797 patent/US11296717B2/en active Active
-
2022
- 2022-02-18 US US17/675,730 patent/US11626884B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI407682B (zh) * | 2005-03-21 | 2013-09-01 | Integrated Device Tech | 整合式時脈產生器及時序/頻率參考器 |
TWI426701B (zh) * | 2005-03-21 | 2014-02-11 | Integrated Device Tech | 電感與電容為基礎的時脈產生器及時序/頻率參考器 |
US20150340098A1 (en) * | 2014-05-22 | 2015-11-26 | Spansion Llc | Methods, circuits, devices and systems for sensing an nvm cell |
Also Published As
Publication number | Publication date |
---|---|
WO2019182730A1 (en) | 2019-09-26 |
US10903844B2 (en) | 2021-01-26 |
EP3769426A4 (en) | 2021-12-22 |
US20210143832A1 (en) | 2021-05-13 |
CN111837341B (zh) | 2024-07-05 |
US20220173747A1 (en) | 2022-06-02 |
CN111837341A (zh) | 2020-10-27 |
EP3769426A1 (en) | 2021-01-27 |
KR20200143397A (ko) | 2020-12-23 |
JP2021518590A (ja) | 2021-08-02 |
US20190326921A1 (en) | 2019-10-24 |
KR102679656B1 (ko) | 2024-06-28 |
TW201939270A (zh) | 2019-10-01 |
US10389375B1 (en) | 2019-08-20 |
US20200083897A1 (en) | 2020-03-12 |
US11626884B2 (en) | 2023-04-11 |
US10523230B2 (en) | 2019-12-31 |
US11296717B2 (en) | 2022-04-05 |
JP7306725B2 (ja) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI793277B (zh) | 用於混合訊號運算的系統與方法 | |
US10255551B2 (en) | Mixed-signal circuitry for computing weighted sum computation | |
US11726925B2 (en) | System and methods for mixed-signal computing | |
CN110796241A (zh) | 基于忆阻器的神经网络的训练方法及其训练装置 | |
US20230359571A1 (en) | System and methods for mixed-signal computing | |
US11340869B2 (en) | Sum-of-products operator, sum-of-products operation method, logical operation device, and neuromorphic device | |
Pedretti et al. | Redundancy and analog slicing for precise in-memory machine learning—Part I: Programming techniques | |
Gi et al. | A ReRAM-based convolutional neural network accelerator using the analog layer normalization technique | |
US20220101142A1 (en) | Neural network accelerators resilient to conductance drift | |
Vignali et al. | Designing Circuits for AiMC Based On Non-Volatile Memories: A Tutorial Brief On Trade-Offs and Strategies for ADCs and DACs Co-Design | |
US20240152332A1 (en) | Method for approximatively determining a scalar product using a matrix circuit | |
Zurla et al. | Designing Circuits for AiMC Based on Non-Volatile Memories: a Tutorial Brief on Trade-offs and Strategies for ADCs and DACs Co-design | |
CN116579392A (zh) | 一种基于电导可调器件的神经网络训练操作系统及方法 |