TWI869311B - 矩陣向量運算電路及其電路配置方法 - Google Patents
矩陣向量運算電路及其電路配置方法 Download PDFInfo
- Publication number
- TWI869311B TWI869311B TW113125695A TW113125695A TWI869311B TW I869311 B TWI869311 B TW I869311B TW 113125695 A TW113125695 A TW 113125695A TW 113125695 A TW113125695 A TW 113125695A TW I869311 B TWI869311 B TW I869311B
- Authority
- TW
- Taiwan
- Prior art keywords
- weight
- sequences
- weight units
- resistor
- resistor strings
- Prior art date
Links
Images
Landscapes
- Attenuators (AREA)
Abstract
一種矩陣向量運算電路,用以呈現多個權重值。矩陣向量運算電路包含多個電阻串,多個電阻串各自包含多個權重單元。多個電阻串並聯耦接於兩個參考電壓之間,且每個電阻串的多個權重單元串聯耦接於該兩個參考電壓之間。多個權重單元形成多個組合,多個組合對應於多個權重值,每個組合中的多個權重單元分別在多個電阻串中具有相同次序。每個權重單元各自具有一狀態值,多個組合的多個權重單元的多個狀態值形成多個序列,多個序列分別對應於該多個權重值。多個序列的多個最高有效位所對應的多個權重單元位於多個電阻串的至少二者之中。
Description
本揭示文件關於矩陣向量運算電路中的電阻值的配置技術,特別是關於可以改善輸出之線性度的矩陣向量運算電路及其電路配置方法。
隨著現今半導體裝置的運算量日益增加,如何配置記憶體裝置內的陣列電路也成為了在設計記憶體裝置時的重點之一。在眾多陣列電路的配置中,混合模式(mixing-mode)矩陣向量(matrix-vector multiplication,MVM)的電路結構因為可以處理大量的輸入資料及權重值的運算而廣受使用。
為了確保運算結果正確,記憶體裝置需要能夠精確地計算出陣列電路的等效電阻值,以產生準確的輸出。然而,在現今的混合模式MVM電路的配置下,電路內部的權重存在分布不均的問題。換句話說,在現今的配置下,混合模式MVM電路的輸出之線性度不足,進而導致估測電阻值與實際電阻值之間的偏離,並可能產生不精確的輸出。因此,如何藉由調整混合模式MVM電路的配置來提升其輸出的線性度,是本領域的課題之一。
本揭示文件提供一種矩陣向量運算電路,用以呈現多個權重值。矩陣向量運算電路包含多個電阻串,多個電阻串各自包含多個權重單元。多個電阻串並聯耦接於兩個參考電壓之間,且每個電阻串的多個權重單元串聯耦接於該兩個參考電壓之間。多個權重單元形成多個組合,多個組合對應於多個權重值,每個組合中的多個權重單元分別在多個電阻串中具有相同次序。每個權重單元各自具有一狀態值,多個組合的多個權重單元的多個狀態值形成多個序列,多個序列分別對應於該多個權重值。多個序列的多個最高有效位所對應的多個權重單元位於多個電阻串的至少二者之中。
在矩陣向量運算電路的一些實施例中,多個序列中的多個奇數序列的多個最高有效位所分別對應的多個權重單元位於多個電阻串的其中一者中,且多個序列中的多個偶數序列的多個最高有效位所分別對應的多個權重單元位於該多個電阻串的另外一者中。多個奇數序列相異於多個偶數序列。
在矩陣向量運算電路的一些實施例中,多個奇數序列的多個最高有效位所對應的多個權重單元與多個偶數序列的多個最低有效位所對應的多個權重單元位於多個電阻串的相同一者中。多個偶數序列的多個最高有效位所對應的多個權重單元與多個奇數序列的多個最低有效位所對應的多個權重單元位於多個電阻串的另外相同一者中。
在矩陣向量運算電路的一些實施例中,多個奇數序列所對應的多個組合的多個權重單元與多個偶數序列所對應的多個組合的多個權重單元在多個電阻串中交替排列。
在矩陣向量運算電路的一些實施例中,多個權重單元的多個狀態值各自屬於位元0或位元1,多個權重值分別對應於多個組合中具有屬於位元1的狀態值的權重單元的數量。
在矩陣向量運算電路的一些實施例中,多個序列屬於一元編碼(unary code)陣列,每個權重值分別對應於多個序列的對應一者中自最高有效位開始的連續的位元1的數量。
在矩陣向量運算電路的一些實施例中,多個序列的其中一者的最低有效位所對應的權重單元與多個序列相鄰一者的最高有效位所對應的權重單元位於多個電阻串的相同一者中。
在矩陣向量運算電路的一些實施例中,矩陣向量運算電路更包含一控制電路,用以分別產生多個輸入訊號至多個權重單元。多個權重單元各自具有一電阻值,電阻值相關於狀態值,且相關於多個輸入訊號。
在矩陣向量運算電路的一些實施例中,多個電阻串各自更包含一額外電阻。額外電阻串聯耦接於多個權重單元,用以防止多個電阻串發生快速充電行為。
在矩陣向量運算電路的一些實施例中,多個權重單元及額外電阻各自具有一電阻值,且額外電阻的電阻值接近或大於每個權重單元的電阻值。
本揭示文件提供一種電路配置方法,用以配置矩陣向量運算電路。矩陣向量運算電路包含一控制電路及並聯耦接於兩個參考電壓之間的多個電阻串。多個電阻串各自包含多個權重單元,且每個電阻串的多個權重單元串聯耦接於該兩個參考電壓之間。電路配置方法包含:藉由控制電路設定矩陣向量運算電路的多個權重值;藉由控制電路基於多個權重值決定多個序列,其中多個序列分別對應於多個權重值;以及藉由控制電路基於多個序列設置每個權重單元的一狀態值。多個權重單元形成對應於多個權重值的多個組合,每個組合中的多個權重單元分別在多個電阻串中具有相同次序。多個序列的多個最高有效位所對應的多個權重單元位於多個電阻串的至少二者之中。
在電路配置方法的一些實施例中,藉由控制電路基於多個權重值決定多個序列包含:藉由控制電路將多個序列分為多個奇數序列及多個偶數序列。多個奇數序列的多個最高有效位所分別對應的多個權重單元位於多個電阻串的其中一者中,且多個偶數序列的多個最高有效位所分別對應的多個權重單元位於多個電阻串的另外一者中。多個奇數序列相異於多個偶數序列。
在電路配置方法的一些實施例中,多個奇數序列的多個最高有效位所對應的多個權重單元與多個偶數序列的多個最低有效位所對應的多個權重單元位於多個電阻串的相同一者中。多個偶數序列的多個最高有效位所對應的多個權重單元與多個奇數序列的多個最低有效位所對應的多個權重單元位於多個電阻串的另外相同一者中。
在電路配置方法的一些實施例中,多個奇數序列所對應的多個組合的多個權重單元與多個偶數序列所對應的多個組合的多個權重單元在多個電阻串中交替排列。
在電路配置方法的一些實施例中,藉由控制電路基於多個序列設置每個權重單元的狀態值包含:藉由控制電路將多個權重單元的多個狀態值各自設置為位元0或位元1。多個權重值分別對應於多個組合中具有屬於位元1的狀態值的權重單元的數量。
在電路配置方法的一些實施例中,多個序列屬於一元編碼陣列,每個權重值分別對應於多個序列的對應一者中自最高有效位開始的連續的位元1的數量。
在電路配置方法的一些實施例中,多個序列的其中一者的最低有效位所對應的權重單元與多個序列相鄰一者的最高有效位所對應的權重單元位於多個電阻串的相同一者中。
在電路配置方法的一些實施例中,多個權重單元各自具有一電阻值,電阻值相關於狀態值。藉由控制電路基於多個序列設置每個權重單元的狀態值包含:藉由控制電路產生多個輸入訊號至多個權重單元,以控制每個權重單元的電阻值。
在電路配置方法的一些實施例中,多個電阻串中各自更包含一額外電阻,額外電阻串聯耦接於該多個權重單元。電路配置方法更包含:藉由控制電路設定額外電阻的電阻值,以防止多個電阻串發生快速充電行為。
在電路配置方法的一些實施例中,多個權重單元各自具有一電阻值,且額外電阻的電阻值接近或大於每個權重單元的電阻值。
透過本揭示文件的矩陣向量運算電路及其電路配置方法,可以較平均地配置電路內部的權重值,進而提升矩陣向量運算電路的輸出的線性度,以輸出較精確的運算結果。
以下將配合相關圖式來說明本揭示文件的實施例。在圖式中,相同的標號表示相同或類似的元件或方法流程。
於本揭示文件中,當一元件被稱為「連結」時,可指「電性連接」或「光連接」,當一元件被稱為「耦接」時,可指「電性耦接」或「光耦接」。「連結」或「耦接」亦可用以表示二或多個元件間相互搭配操作或互動。除非內文中對於冠詞有所特別限定,否則「一」與「該」可泛指單一個或多個。將進一步理解的是,本文中所使用之「包含」、「包括」、「具有」及相似詞彙,指明其所記載的特徵、區域、整數、步驟、操作、元件與/或組件,但不排除其所述或額外的其一個或多個其它特徵、區域、整數、步驟、操作、元件、組件與/或其中之群組。
第1圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路100的示意圖。在一些實施例中,矩陣向量運算電路100包含電阻串110_1~110_M及控制電路120,用以呈現多個輸入值。關於矩陣向量運算電路100呈現多個權重值的方法,將在下文中詳細說明。
電阻串110_1~110_M各自包含多個權重單元。舉例而言,電阻串110_1包含權重單元W
11~W
N1,電阻串110_2包含權重單元W
12~W
N2,電阻串110_M包含權重單元W
1M~W
NM,以此類推,其中N及M為正整數。在一些實施例中,電阻串110_1~110_M並聯耦接於參考電壓V
ref1及參考電壓V
ref2之間,且每個電阻串的多個權重單元(例如,電阻串110_1中的權重單元W
11~W
N1)串聯耦接於參考電壓V
ref1及參考電壓V
ref2之間,因此形成了矩陣電路的結構。
在一些實施例中,每個權重單元具有一個狀態值(例如,於二位元模式中的位元0、位元1,或於多位元模式中的位元0、位元1、位元2、…等),此狀態值會決定權重單元的電阻值。例如,狀態值為位元值1的權重單元具有較高的電阻值R
H,而狀態值為位元值0的權重單元具有較低的電阻值R
L。根據每個串聯/並聯的權重單元的電阻值,可以決定矩陣電路的等效電阻值R
eq。
此外,每個權重單元用以自控制電路120接收輸入訊號。舉例而言,權重單元W
11~W
N1分別接收輸入訊號IN
11~IN
N1,權重單元W
12~W
N2分別接收輸入訊號IN
12~IN
N2,權重單元W
1M~W
NM分別接收輸入訊號IN
1M~IN
NM,以此類推。每個權重單元所接受的輸入訊號會影響其狀態值,進而影響其電阻值以及矩陣電路的等效電阻值R
eq。
控制電路120耦接至電阻串110_1~110_M中的各個權重單元,用以產生輸入訊號IN
11~IN
N1、IN
12~IN
N2、…、IN
1M~IN
NM(統稱為「IN」)至電阻串110_1~110_M中的各個權重單元。
如前文所述,在一些實施例中,矩陣向量運算電路100用以呈現多個權重值。請參照第2圖,第2圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路200與權重值的關係的示意圖。應注意,第2圖中的矩陣向量運算電路200相似於第1圖中的矩陣向量運算電路100,因此在此不重複贅述其內部結構。
在一些實施例中,電阻串210_1~210_5中具有相同次序的權重單元會形成一個組合,而此組合會對應同一個權重值(即第1圖中的某一個權重單元所對應的權重值)。舉例而言,在電阻串210_1~210_5中最上方(即最接近參考電壓V
ref1)的權重單元W
11_1、W
11_2、W
11_3、W
11_4、W
11_5會形成一組合,此組合對應於第一個權重值(即第1圖中的權重單元W
11所對應的權重值),在電阻串210_1~210_5中第二上方(即第二接近參考電壓V
ref1)的權重單元W
21_1、W
21_2、W
21_3、W
21_4、W
21_5會形成另一組合,此組合對應於第二個權重值(即第1圖中的權重單元W
21所對應的權重值),以此類推。
此外,每個權重值會決定其對應的權重單元的組合的狀態值。在一些實施例中,權重值可以一元編碼(unary code)陣列來表現,例如,權重值0可以表現為「00000」之陣列,權重值1可以表現為「10000」之陣列,權重值2可以表現為「11000」之陣列,權重值3可以表現為「11100」之陣列,權重值4可以表現為「11110」之陣列,權重值5可以表現為「11111」之陣列。換句話說,每個權重值可以被表現為一陣列,此陣列自最高有效位開始具有連續且對應數量個位元1。
因此,在權重值以一元編碼陣列表現的實施例中,權重值表現的陣列可以決定其對應的權重單元的組合的狀態值。以第2圖的實施例為例,第一個權重值(即第1圖中的權重單元W
11所對應的權重值)為0,因此權重單元W
11_1~W
11_5的狀態值皆為0;第二個權重值(即第1圖中的權重單元W
21所對應的權重值)為1,因此權重單元W
21_1~W
21_5的狀態值分別為1、0、0、0、0;第三個權重值(即第1圖中的權重單元W
31所對應的權重值)為2,因此權重單元W
31_1~W
31_5的狀態值分別為1、1、0、0、0;第四個權重值(即權重單元W
41所對應的權重值)為3,因此權重單元W
41_1~W
41_5的狀態值分別為1、1、1、0、0;第五個權重值(即權重單元W
51所對應的權重值)為4,因此權重單元W
51_1~W
51_5的狀態值分別為1、1、1、1、0;第六個權重值(即權重單元W
61所對應的權重值)為5,因此權重單元W
61_1~W
61_5的狀態值皆為1。
應注意,前文所述的權重單元的狀態值的數量及權重值的編碼方式僅為示例,非用以限制本揭示文件。權重單元的狀態值的其他數量及其他的權重值編碼方式均在本揭示文件的範圍內。在一些實施例中,權重單元可以具有三種以上不同的狀態值。在一些實施例中,權重值可以二進位的陣列表示。
第3A圖為根據一些實例所繪示的矩陣向量運算電路200的狀態值的配置的示意圖。應注意,為了圖式的簡潔起見,第3A~3D圖中的電阻串210_1~210_5及所有權重單元的標示被省略。
第3A圖的實例為常見的權重單元的狀態值的配置。詳細而言,每個權重值會被表現為一元編碼陣列,且此一元編碼陣列中自最高有效位(most significant bit,MSB)至最低有效位(least significant bit,LSB)的位元會依序由對應組合中的權重單元的狀態值來表現,且每個權重值的每個一元編碼陣列中的MSB皆由同一個電阻串中的權重單元來表現。
在第3A~3C圖中,位於每組權重單元的組合旁邊的箭頭符號代表一元編碼陣列的MSB至LSB所對應的權重單元的順率。以第3A圖的實例為例,第一個權重值為5,代表的一元編碼陣列為「11111」,因此權重單元W
11_1~W
11_5的狀態值依序為1、1、1、1、1;第三個權重值為2,代表的一元編碼陣列為「11000」,因此權重單元W
31_1~W
31_5的狀態值依序為1、1、0、0、0。換句話說,所有一元編碼陣列中的位元皆依序由電阻串210_1~210_5中的權重單元來表現,因此所有的MSB皆對應於電阻串210_1的權重單元。
如前文所述,根據權重單元的狀態值不同,權重單元會具有較高的電阻值R
H或較低的電阻值R
L。因此,由於一元編碼陣列中的位元1皆集中於較前方的位元的特性,在第3A圖中的電路配置方法中,電阻串210_1~210_5的狀態值總和為11、9、7、3、2,呈現出遞減的現象,導致電阻串210_1~210_5出現電阻值分配不均的問題。如第2圖所示,由於電阻串210_1~210_5彼此並聯於參考電壓V
ref1及參考電壓V
ref2之間,當電阻串210_1~210_5出現電阻值分配不均的現象時,電流會集中到電阻值較小的電阻串(即電阻串210_5),導致電流容易被該電阻串控制(dominate),進而影響整體電路的運作。
為了解決上述問題,本揭示文件提供了多種矩陣電路的狀態值的配置方法,請再次參照第1圖,由電阻串110_1~110_M所構成的矩陣電路的等效電阻值R
eq可以透過以下的《公式一》來表示:
《公式一》。
在《公式一》中,「
」代表所有權重單元的平均電阻值,「
」代表每個電阻串中的具有電阻值R
H的權重單元的數量的標準差,「
」代表所有權重單元的平均電阻值除以電阻值R
H與電阻值R
L之間的差值,而「
」代表每個電阻串中的具有電阻值R
H的權重單元的數量與所有電阻串中的具有電阻值R
H的權重單元的平均數量的差值。
為了簡化《公式一》的計算,在現今許多矩陣電路的配置方法中,選擇了以增加「
」的方式(例如,透過第3A圖的配置方法)將《公式一》簡化為下列的《公式二》:
《公式二》。
然而,如前文所述,習知的矩陣電路的配置方法(例如,第3A圖的配置方法)中的電阻串容易出現電阻值分配不均的問題。因此,在本揭示文件中,選擇以減少「
」的方式將《公式一》簡化為《公式二》。透過減少「
」的方式,除了可以簡化《公式一》,還可以改善前述的電阻串的電阻值分配不均的現象。
第3B~3D圖為根據本揭示文件的不同實施例所繪示的矩陣向量運算電路200的狀態值的配置的示意圖。首先,請先參照第3B圖。在第3B圖中,箭頭符號具有兩種方向(由左至右、由右至左)且交替排列。因此,對於第奇數個權重值,其一元編碼陣列中的位元依序由電阻串210_1~210_5中的權重單元來表現;對於第偶數個權重值,其一元編碼陣列中的位元依序由電阻串210_5~210_1中的權重單元來表現。
換句話說,對應於第奇數個權重值的一元編碼陣列的MSB的權重單元與對應於第偶數個權重值的一元編碼陣列的LSB的權重單元位於相同電阻串中,且對應於第偶數個權重值的一元編碼陣列的MSB的權重單元與對應於第奇數個權重值的一元編碼陣列的LSB的權重單元位於另一相同電阻串中。因此,在與第3A圖相同的權重值的條件下,第3B圖中的電阻串210_1~210_5的狀態值總和為6、6、7、6、7,呈現較平均的分配,進而得到較平均的總電阻值配置以降低《公式一》中的「
」。
接著,請參照第3C圖。在第3C圖中,箭頭符號皆為由左至右。與第3A圖不同的是,第3C圖中的權重值的箭頭符號的起點為前一個權重值的箭頭符號的終點,代表一元編碼陣列的配置方法與第3A圖有所不同。舉例而言,在第3C圖中,第三個權重值為2,對應的一元編碼陣列為「11000」,權重單元W
31_1~W
31_3的狀態值被依序配置為1、1、0,以及權重單元W
31_4、W
31_5的狀態值被配置為0,故此時LSB對應於電阻串210_3;第四個權重值為1,對應的一元編碼陣列為「10000」,此時權重單元的配置會由前一個權重值的一元編碼陣列的LSB所對應的電阻串(即電阻串210_3)開始配置,故權重單元W
41_3、W
41_4的狀態值被依序配置為1、0,以及權重單元W
41_1、W
41_2、W
41_5的狀態值被配置為0,此時LSB對應於電阻串210_4;第五個權重值為3,對應的一元編碼陣列為「11100」,此時權重單元的配置會由前一個權重值的一元編碼陣列的LSB所對應的電阻串(即電阻串210_4)開始配置,故權重單元W
51_4、W
51_5、W
51_1、W
51_2、W
51_3的狀態值被依序配置為1、1、1、0、0,以此類推。
換句話說,對應於當前的權重值的一元編碼陣列的MSB的權重單元會與對應於前一個權重值的一元編碼陣列的LSB的權重單元位於相同電阻串中。因此,在與第3A圖相同的權重值的條件下,第3C圖中的電阻串210_1~210_5的狀態值總和為7、7、6、6、6,呈現較平均的分配,進而得到較平均的總電阻值配置以降低《公式一》中的「
」。
最後,請參照第3D圖。在第3D圖中,權重值代表對應組合中的狀態值為1的權重單元的數量,且這些狀態值為1的權重單元在其組合中為隨機分布(因此狀態值為1的權重單元不一定相鄰)。因此,在與第3A圖相同的權重值的條件下,第3D圖中的電阻串210_1~210_5的狀態值總和為7、7、7、6、5,呈現較平均的分配,進而得到較平均的總電阻值配置以降低《公式一》中的「
」。
綜上而言,在第3B~3D圖的狀態值的配置下,所有權重值的一元編碼陣列的MSB位於電阻串210_1~210_5的至少兩者之中,因此得以得到較平均的總電阻值配置(即,具有較低的狀態值總和的標準差,如下表1所示)。
表1
| 權重值:[5,0,2,1,3,3,3,4,5,3,1,2] | |||
| 配置方法 | 5個電阻串的狀態值總和 | 電阻串的狀態值總和之平均值 | 電阻串的狀態值總和之標準差 |
| 第3A圖 | [11,9,7,3,2] | 6.4 | 3.34 |
| 第3B圖 | [6,6,7,6,7] | 6.4 | 0.49 |
| 第3C圖 | [7,7,6,6,6] | 6.4 | 0.49 |
| 第3D圖 | [7,7,7,6,5] | 6.4 | 0.8 |
在一些實施例中,矩陣向量運算電路(例如,第1圖中的矩陣向量運算電路100)可以具有多組電阻串,且每組電阻串用於處理一組權重值的配置。因此,此時的權重值可以是一矩陣而非一陣列。此權重值及矩陣向量運算電路的配置被稱為混合模式(mixing-mode)配置。
舉例而言,下表2列出了實例混合模式配置的矩陣向量運算電路的權重值,其中此矩陣向量運算電路具有八組電阻串,每組電阻串對應於32個權重值,且每個權重值介於且包含0至3。此外,下表3列出了表2的權重值在使用第3A~3D圖的配置方法時所得到的配置、平均值及標準差。
表2
表3
| 實例混合模式配置的矩陣向量運算電路的權重值 |
| [1,2,0,0,2,3,1,2],[0,0,2,0,1,0,2,2],[3,0,1,0,3,2,0,0],[3,1,3,3,1,1,1,0], [1,3,1,2,2,2,1,0],[3,1,3,1,1,3,0,1],[2,2,3,2,2,1,2,0],[1,3,0,2,0,3,3,2], [1,1,3,3,0,1,1,3],[1,2,2,2,0,1,3,2],[2,3,1,0,2,2,1,0],[2,3,0,1,1,1,2,2], [0,3,0,2,2,3,3,0],[2,0,3,3,2,2,2,0],[3,2,0,1,0,0,0,0],[0,0,3,1,0,3,0,1], [1,3,1,3,0,0,1,0],[2,3,1,3,1,1,3,1],[1,0,1,1,3,3,3,1],[1,1,2,2,3,0,1,1], [1,3,3,0,0,3,3,2],[0,2,2,0,0,0,0,3],[1,2,1,1,0,3,3,2],[0,0,1,1,1,1,0,0], [3,0,0,3,2,0,2,1],[1,1,3,1,3,0,3,0],[1,0,2,1,3,2,0,0],[2,3,3,0,0,3,1,2], [2,2,0,1,3,3,3,0],[1,1,0,0,0,3,1,3],[0,2,0,3,0,1,2,1],[2,3,0,0,3,2,1,1] |
| 配置方法 | 24個電阻串的狀態值總和 | 狀態值總和之平均值 | 狀態值總和之標準差 |
| 第3A圖 | [27,14,6,25,19,11,23,15,10,24,14,8,21,15,8,26,18,12,26,16,10,20,12,4] | 16 | 6.708 |
| 第3B圖 | [17,14,16,18,19,18,17,15,16,16,14,16,14,15,15,19,18,19,18,16,18,10,12,14] | 16 | 2.236 |
| 第3C圖 | [16,16,15,19,18,18,16,16,16,16,15,15,15,15,14,19,19,18,18,17,17,12,12,12] | 16 | 2.062 |
| 第3D圖 | [15,17,15,16,19,20,19,13,16,14,18,14,15,13,16,19,17,20,14,16,22,11,12,13] | 16 | 2.769 |
從表2、3可以得知,與表1相似地,第3B~3D圖的配置方法所得到的狀態值總和的標準差同樣明顯小於第3A圖的配置方法所得到的標準差。
第4圖為根據本揭示文件的一些實施例所繪示的根據表2的權重值組合及第3A~3D圖的配置方法所得到的等效電阻值(即量測電阻值)與估算電阻值之間的關係的示意圖。應注意,為了便於說明,第3A~3D圖中的配置方法在第4圖中分別被標示為配置方法1~4。
當量測電阻值與估算電阻值越接近相等(即,在圖式中的分布越接近斜率為1的直線)時,代表該配置方法所得到的線性度越佳。因此,從第4圖可以得知,第3B~3D圖的配置方法所得到的線性度明顯優於第3A圖的配置方法所得到的線性度。
第5圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路500的示意圖。矩陣向量運算電路500相似於第1圖中的矩陣向量運算電路100。差異之處在於,矩陣向量運算電路500的電阻串510_1~510_M中各自更包含了一個額外電阻R
S。額外電阻R
S串聯耦接於該電阻串的多個權重單元及參考電壓V
ref2之間,用以防止電阻串發生快速充電行為。
在一些實施例中,為了使額外電阻R
S正常發揮防止快速充電的作用,額外電阻R
S的電阻值會被設置為電阻值較高的權重單元(例如,狀態值為1,具有電阻值R
H的權重單元)的一倍或數倍,故額外電阻R
S的電阻值約等於或大於該電阻串中的每個權重單元的電阻值。
在一些實施例中,每個權重單元具有多位元模式中的狀態值,例如位元0、位元1、位元2、…等,此狀態值會決定權重單元的電阻值為R
L、R
H1、R
H2、…等。額外電阻R
S的電阻值會被設置為電阻值較高的權重單元的電阻值,例如R
H1、R
H2、…等。故額外電阻R
S的電阻值約等於或大於該電阻串中的權重單元的電阻值。
第6圖為根據本揭示文件的一些實施例所繪示的電路配置方法600的流程圖。電路配置方法600用以配置矩陣向量運算電路(例如,矩陣向量運算電路100、200、500)中的多個權重單元的狀態值。在一些實施例中,電路配置方法600包含步驟S610、S620、S630、S640。
在步驟S610中,藉由控制電路(例如,控制電路120)設定矩陣向量運算電路的多個權重值。接著,執行步驟S620。
在步驟S620中,藉由控制電路根據在步驟S610中設定的多個權重值決定多個狀態值的序列(例如,第2圖中的狀態值所對應的一元編碼陣列)。這些序列分別對應於每個權重值。接著,執行步驟S630。
在步驟S630中,藉由控制電路基於多個序列設置每個權重單元的狀態值(例如,使用第3B~3D圖中的狀態值的配置)。接著,執行步驟S640。
在步驟S640中,在多個電阻串中分別設置一額外電阻,以防止電阻串發生快速充電行為,並藉由控制電路設定額外電阻的電阻值。
應注意,本揭示文件的電路配置方法600中的步驟的數量及順序僅為示例,非用以限制本揭示文件,其他步驟的數量及順序均在本揭示文件的範圍內。在一些實施例中,步驟S640可以在步驟S630之前執行。在一些實施例中,步驟S640可以被省略。
透過本揭示文件的矩陣向量運算電路100、200、500及電路配置方法600,可以降低電阻串之間電阻值的差異,進而提升矩陣向量運算電路的輸出的線性度。此外,電阻串中的額外電阻也能防止電阻串發生快速充電行為,以改善矩陣向量運算電路的表現。
以上僅為本揭示文件的較佳實施例,在不脫離本揭示文件的範圍或精神的情況下,本揭示文件的結構可以進行各種修飾和均等變化。綜上所述,凡在以下請求項的範圍內對於本揭示文件所做的修飾以及均等變化,皆為本揭示文件所涵蓋的範圍。
100:矩陣向量運算電路
110_1,110_2,110_M:電阻串
120:控制電路
200:矩陣向量運算電路
210_1~210_5:電阻串
500:矩陣向量運算電路
510_1,510_2,510_M:電阻串
600:電路配置方法
S610,S620,S630,S640:步驟
IN:輸入訊號
IN
11,IN
12,IN
1M:輸入訊號
IN
21,IN
22,IN
2M:輸入訊號
IN
31,IN
32,IN
3M:輸入訊號
IN
N1,IN
N2,IN
NM:輸入訊號
W
11,W
12,W
1M:權重單元
W
21,W
22,W
2M:權重單元
W
31,W
32,W
3M:權重單元
W
41,W
51,W
61:權重單元
W
N1,W
N2,W
NM:權重單元
W
11_1~W
11_5:權重單元
W
21_1~W
21_5:權重單元
W
31_1~W
31_5:權重單元
W
41_1~W
41_5:權重單元
W
51_1~W
51_5:權重單元
W
61_1~W
61_5:權重單元
V
ref1,V
ref2:參考電壓
R
eq:等效電阻值
R
S:額外電阻
為使本揭示文件之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:
第1圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路的示意圖;
第2圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路與權重值的關係的示意圖;
第3A圖為根據一些實例所繪示的矩陣向量運算電路的狀態值的配置的示意圖;
第3B圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路的狀態值的配置的示意圖;
第3C圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路的狀態值的配置的示意圖;
第3D圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路的狀態值的配置的示意圖;
第4圖為根據本揭示文件的一些實施例所繪示的根據多個配置方法的等效電阻值與估算電阻值之間的關係的示意圖;
第5圖為根據本揭示文件的一些實施例所繪示的矩陣向量運算電路的示意圖;以及
第6圖為根據本揭示文件的一些實施例所繪示的電路配置方法的流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
100:矩陣向量運算電路
110_1,110_2,110_M:電阻串
120:控制電路
IN:輸入訊號
IN11,IN12,IN1M:輸入訊號
IN21,IN22,IN2M:輸入訊號
IN31,IN32,IN3M:輸入訊號
INN1,INN2,INNM:輸入訊號
W11,W12,W1M:權重單元
W21,W22,W2M:權重單元
W31,W32,W3M:權重單元
WN1,WN2,WNM:權重單元
Vref1,Vref2:參考電壓
Req:等效電阻值
Claims (20)
- 一種矩陣向量運算電路,用以呈現多個權重值,該矩陣向量運算電路包含: 多個電阻串,各自包含多個權重單元,其中該多個電阻串並聯耦接於二參考電壓之間,且每個電阻串的該多個權重單元串聯耦接於該二參考電壓之間, 其中該多個權重單元形成多個組合,該多個組合對應於該多個權重值,每個組合中的該多個權重單元分別在該多個電阻串中具有一相同次序, 其中每個權重單元各自具有一狀態值,該多個組合的該多個權重單元的該多個狀態值形成多個序列,該多個序列分別對應於該多個權重值,且 其中該多個序列的多個最高有效位所對應的該多個權重單元位於該多個電阻串的至少二者之中。
- 如請求項1所述之矩陣向量運算電路,其中該多個序列中的多個奇數序列的該多個最高有效位所分別對應的該多個權重單元位於該多個電阻串的其中一者中,且該多個序列中的多個偶數序列的該多個最高有效位所分別對應的該多個權重單元位於該多個電阻串的另外一者中,且 其中該多個奇數序列相異於該多個偶數序列。
- 如請求項2所述之矩陣向量運算電路,其中該多個奇數序列的該多個最高有效位所對應的該多個權重單元與該多個偶數序列的多個最低有效位所對應的該多個權重單元位於該多個電阻串的相同一者中,且 該多個偶數序列的該多個最高有效位所對應的該多個權重單元與該多個奇數序列的多個最低有效位所對應的該多個權重單元位於該多個電阻串的另外相同一者中。
- 如請求項2所述之矩陣向量運算電路,其中該多個奇數序列所對應的該多個組合的該多個權重單元與該多個偶數序列所對應的該多個組合的該多個權重單元在該多個電阻串中交替排列。
- 如請求項1所述之矩陣向量運算電路,其中該多個權重單元的該多個狀態值各自屬於位元0或位元1,該多個權重值分別對應於該多個組合中具有屬於位元1的該狀態值的該權重單元的數量。
- 如請求項5所述之矩陣向量運算電路,其中該多個序列屬於一元編碼(unary code)陣列,每個權重值分別對應於該多個序列的對應一者中自該最高有效位開始的連續的位元1的數量。
- 如請求項6所述之矩陣向量運算電路,其中該多個序列的其中一者的一最低有效位所對應的該權重單元與該多個序列相鄰一者的該最高有效位所對應的該權重單元位於該多個電阻串的相同一者中。
- 如請求項1所述之矩陣向量運算電路,更包含一控制電路,用以分別產生多個輸入訊號至該多個權重單元, 其中該多個權重單元各自具有一電阻值,該電阻值相關於該狀態值,且相關於該多個輸入訊號。
- 如請求項1所述之矩陣向量運算電路,其中該多個電阻串各自更包含一額外電阻,該額外電阻串聯耦接於該多個權重單元,用以防止該多個電阻串發生快速充電行為。
- 如請求項9所述之矩陣向量運算電路,其中該多個權重單元及該額外電阻各自具有一電阻值,且該額外電阻的該電阻值等於或大於該多個權重單元的該電阻值。
- 一種電路配置方法,用以配置一矩陣向量運算電路,其中該矩陣向量運算電路包含一控制電路及並聯耦接於二參考電壓之間的多個電阻串,該多個電阻串各自包含多個權重單元,且每個電阻串的該多個權重單元串聯耦接於該二參考電壓之間,其中該電路配置方法包含: 藉由該控制電路設定該矩陣向量運算電路的多個權重值; 藉由該控制電路基於該多個權重值決定多個序列,其中該多個序列分別對應於該多個權重值;以及 藉由該控制電路基於該多個序列設置每個權重單元的一狀態值, 其中該多個權重單元形成對應於該多個權重值的多個組合,每個組合中的該多個權重單元分別在該多個電阻串中具有一相同次序,且 其中該多個序列的多個最高有效位所對應的該多個權重單元位於該多個電阻串的至少二者之中。
- 如請求項11所述之電路配置方法,其中藉由該控制電路基於該多個權重值決定該多個序列包含: 藉由該控制電路將該多個序列分為多個奇數序列及多個偶數序列, 其中該多個奇數序列的該多個最高有效位所分別對應的該多個權重單元位於該多個電阻串的其中一者中,且該多個偶數序列的該多個最高有效位所分別對應的該多個權重單元位於該多個電阻串的另外一者中,且 其中該多個奇數序列相異於該多個偶數序列。
- 如請求項12所述之電路配置方法,其中該多個奇數序列的該多個最高有效位所對應的該多個權重單元與該多個偶數序列的多個最低有效位所對應的該多個權重單元位於該多個電阻串的相同一者中,且 該多個偶數序列的該多個最高有效位所對應的該多個權重單元與該多個奇數序列的多個最低有效位所對應的該多個權重單元位於該多個電阻串的另外相同一者中。
- 如請求項12所述之電路配置方法,其中該多個奇數序列所對應的該多個組合的該多個權重單元與該多個偶數序列所對應的該多個組合的該多個權重單元在該多個電阻串中交替排列。
- 如請求項11所述之電路配置方法,其中藉由該控制電路基於該多個序列設置每個權重單元的該狀態值包含: 藉由該控制電路將該多個權重單元的該多個狀態值各自設置為位元0或位元1, 其中該多個權重值分別對應於該多個組合中具有屬於位元1的該狀態值的該權重單元的數量。
- 如請求項15所述之電路配置方法,其中該多個序列屬於一元編碼陣列,每個權重值分別對應於該多個序列的對應一者中自該最高有效位開始的連續的位元1的數量。
- 如請求項16所述之電路配置方法,其中該多個序列的其中一者的一最低有效位所對應的該權重單元與該多個序列相鄰一者的該最高有效位所對應的該權重單元位於該多個電阻串的相同一者中。
- 如請求項11所述之電路配置方法,其中該多個權重單元各自具有一電阻值,該電阻值相關於該狀態值,且藉由該控制電路基於該多個序列設置該每個權重單元的該狀態值包含: 藉由該控制電路產生多個輸入訊號至該多個權重單元,以控制該每個權重單元的該電阻值。
- 如請求項11所述之電路配置方法,其中該多個電阻串中各自更包含一額外電阻,該額外電阻串聯耦接於該多個權重單元,其中該電路配置方法更包含: 藉由該控制電路設定該額外電阻的一電阻值,以防止該多個電阻串發生快速充電行為。
- 如請求項19所述之電路配置方法,其中該多個權重單元各自具有一電阻值,且該額外電阻的該電阻值等於或大於該多個權重單元的該電阻值。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113125695A TWI869311B (zh) | 2024-07-09 | 2024-07-09 | 矩陣向量運算電路及其電路配置方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113125695A TWI869311B (zh) | 2024-07-09 | 2024-07-09 | 矩陣向量運算電路及其電路配置方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TWI869311B true TWI869311B (zh) | 2025-01-01 |
Family
ID=95152110
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW113125695A TWI869311B (zh) | 2024-07-09 | 2024-07-09 | 矩陣向量運算電路及其電路配置方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI869311B (zh) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200257753A1 (en) * | 2019-02-12 | 2020-08-13 | SK Hynix Inc. | Method of formatting a weight matrix, an accelerator using the formatted weight matrix, and a system including the accelerator |
| TW202207093A (zh) * | 2020-06-25 | 2022-02-16 | 英商普立N科技有限公司 | 神經網路的模擬硬體實現 |
| US20220222045A1 (en) * | 2021-01-11 | 2022-07-14 | SK Hynix Inc. | Processing-in-memory devices having multiplication-and-accumulation circuits |
| US20220342637A1 (en) * | 2021-04-21 | 2022-10-27 | SK Hynix Inc. | Multiple operation circuits, multiplication/accumulation operators having the multiple operation circuits, and processing-in-memory devices having the multiple operation circuits |
| CN108763163B (zh) * | 2018-08-02 | 2023-10-20 | 北京知存科技有限公司 | 模拟向量-矩阵乘法运算电路 |
| CN117520261A (zh) * | 2023-11-24 | 2024-02-06 | 北方集成电路技术创新中心(北京)有限公司 | 一种高能效存内计算电路 |
-
2024
- 2024-07-09 TW TW113125695A patent/TWI869311B/zh active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108763163B (zh) * | 2018-08-02 | 2023-10-20 | 北京知存科技有限公司 | 模拟向量-矩阵乘法运算电路 |
| US20200257753A1 (en) * | 2019-02-12 | 2020-08-13 | SK Hynix Inc. | Method of formatting a weight matrix, an accelerator using the formatted weight matrix, and a system including the accelerator |
| TW202207093A (zh) * | 2020-06-25 | 2022-02-16 | 英商普立N科技有限公司 | 神經網路的模擬硬體實現 |
| US20220222045A1 (en) * | 2021-01-11 | 2022-07-14 | SK Hynix Inc. | Processing-in-memory devices having multiplication-and-accumulation circuits |
| US20220342637A1 (en) * | 2021-04-21 | 2022-10-27 | SK Hynix Inc. | Multiple operation circuits, multiplication/accumulation operators having the multiple operation circuits, and processing-in-memory devices having the multiple operation circuits |
| CN117520261A (zh) * | 2023-11-24 | 2024-02-06 | 北方集成电路技术创新中心(北京)有限公司 | 一种高能效存内计算电路 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI484497B (zh) | 增強型多階記憶體及其操作方法,以及電腦系統 | |
| CN1147866C (zh) | 含多级单元的快擦存储器的读出电路 | |
| US8868821B2 (en) | Systems and methods for pre-equalization and code design for a flash memory | |
| CN104040504B (zh) | 生成用于从存储介质读取数据的软信息值的方法和装置 | |
| US20200192791A1 (en) | Enhancing the effectiveness of read scan performance and reliability for non-volatile memory | |
| CN115858235B (zh) | 循环冗余检验处理方法及装置、电路、电子设备和介质 | |
| CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
| CN1943116B (zh) | 改进数模转换器中降低误差的方法以及应用该方法的数模转换器 | |
| CN116110329B (zh) | Vf检测补偿电路、驱动芯片及显示设备 | |
| TWI419172B (zh) | Reference current generator for resistive memory and its | |
| CN110752847A (zh) | 数模转换器 | |
| Kiah et al. | Codes for DNA storage channels | |
| TWI869311B (zh) | 矩陣向量運算電路及其電路配置方法 | |
| CN106814991A (zh) | 基于rram的无偏真随机数生成方法和生成器 | |
| JP7750916B2 (ja) | 抵抗ベースの物理的複製困難関数 | |
| US20230252248A1 (en) | Apparatus of in-memory computing and method for operating same | |
| CN108231123A (zh) | 一种半导体存储器件的校准方法 | |
| CN115220690A (zh) | 存储器装置及其操作方法 | |
| JP6219631B2 (ja) | 論理演算装置 | |
| CN102799413B (zh) | 一种随机数生成方法和装置 | |
| CN116168744A (zh) | 一种存储芯片的电阻补偿装置、方法及存储芯片 | |
| TWI698876B (zh) | 資料寫入方法及非揮發性記憶體 | |
| CN115691406B (zh) | 伽马电压转换电路、显示装置和伽马电压转换方法 | |
| TWI881718B (zh) | 記憶體搜尋引擎、參考陣列及參考校正方法 | |
| CN100520981C (zh) | 一种用于非易失性存储器的平衡对称式读出放大电路 |