2019年12月16日 星期一

Review of Metal–oxide RRAM (2012)

介紹

1960年代,研究發現氧化物會有電阻改變的現象。

1990年代,許多不同材料的氧化物被提出作為RRAM的材料,例如 SrTiO3、SrZrO3、NiO、TiO2 等。

2004,Samsung 使用 NiO 作為 RRAM 材料,並提出了可以相容 0.18 um CMOS 製程的 1T1R 架構的 RRAM cell。並且開始分析如 data retention、endurance、programming characteristics 等等與做為記憶體有關的特性。

由於 RRAM 的製造相容於 BEOL,研究者開始認為 RRAM 將成為一個能夠相容於邏輯製程的非揮發性記憶體。在與邏輯製程整合的過程當中,可以將 RRAM 放在 metal layer 上,也可以放在 contact/via 和電晶體的 source 或 drain 之間。

單一一個 RRAM Cell 的面積,大約為 4F^2 / n,其中 n 代表可以垂直堆疊的層數。

根據 paper 總結,RRAM 的讀取/寫入時間大約為數十奈秒 (ns),其壽命大約為 10^6 次寫入循環。

根據實驗的結果,電阻值的改變機制 (resistive switching behavior) 不只與氧化物材料有關,也與上下金屬電極的材料有關,也與它們之接接面的性質有關。

此篇 paper 主要介紹 binary metal-oxide RRAM (HfOx, AlOx, NiOx, TiOx, TaOx)。

電阻改變的機制

Switching Events
Set:  從 HRS 到 LRS。為了避免 dielectric breakdown,在做 set 時要加上 set compliance (將RRAM 串聯一個 selector,例如電晶體或二極體)。
Reset:  從 LRS 到 HRS。Reset 的主導機制目前還是一個有爭議的研究題目,目前的推論是:thermal dissolution model 可以解釋 unipolar device 的 reset,而 ionic migration model 可以解釋 bipolar device 的 reset。研究發現,同樣的 oxide 材料搭配上不同的電極材料,會產生 bipolar 或 unipolar 兩種不同的device,因此推測 bipolar 和 unipolar 與 oxide 和電極的接面性質有關。通常若使用貴金屬如 Pt、Ru 等當電極,會產生 unipolar device。但是假如我們將其中一邊的電極換成可氧化的材料如 Ti、TiN 時,device 就會轉變為 bipolar。實驗發現,在 bipolar device的可氧化電極接面處,出現了電極的氧化物。在 forming 時,電極與氧化物的接面可以被視為一個 oxygen reservoir。在 reset operation 中,氧原子會從接面返回到氧化物中,使得電阻值上升。對於 unipolar device 而言,電流流過導電路徑時所造成的 Joulde heating,被認為可能造成氧原子因為濃度差異而從電極擴散到氧化物中。因此通常 unipolar device 的 reset 需要比較高的電流來升高導電路徑的溫度。對於 bipolar device 來說,在電極接面的金屬氧化層會形成一個 diffusion barier,因此就需要一個反向的電場,才能夠讓氧離子跨過屏障回到氧化物中。
Forming:  建立導電路徑,又可稱為 dielectric soft breakdown。在一些實驗中發現,forming的時間與施加的電壓有 exponential 關係,因此推斷 forming 不是 spontaneous 行為,而是 stress-induced defects。高電場 (> 10MV/cm) 會將氧原子敲離晶格,並且往陽極移動,在氧化物中產生 defect,氧空缺會形成一個導電路徑。利用導電原子力顯微鏡,已經在材料中觀察到此導電路徑。forming 電壓與 oxide 的厚度是線性關係,當 HfOx 的厚度減少到 3nm 時,可以達成forming-free device。在形成氧化物薄膜時,也能透過控制退火環境來產生 defect 在薄膜中,藉此讓 forming 電壓下降。
Read: 在做read時,為了避免改變電阻值,會施加一個很小的電壓。

Switching Modes
Unipolar:  switch direction 與施加電壓的 amplitude 有關。
Nonpolar: 更廣義的 unipolar,從相反的兩個方向施加電壓時會有對稱的行為。
Bipolar: switch direction 與施加電壓的 polarity (方向) 有關。

材料的特性

HfOx
HfOx-based 材料在 CMOS MOSFET 製造過程中,常被用來製作 high-K dielectric。但同時也發現,defect-rich HfOx 適合作為 RRAM 材料。常見的結構如:TiN/Ti/HfOx/TiN (其中的Ti層用來消耗氧離子,作為 oxygen reservoir 使用。也可以將 Ti 換成其他材料例如 AlCu 或 Ta,但由於不同材料捕捉氧離子的能力不同,因此 RRAM 的特性將會改變。根據實驗,當 HfOx 的厚度減少至 3nm 時,Ti/HfOx 的結構具有 forming-free 的特性。

操作速度 <10 ns
ON/OFF ratio >100
endurance > 10^6
良率 ~100%

透過將電極表面研磨變得更平整,有機會將 endurance 提升至 10^10,但相對的 set/reset 速度會下降至 40ns。

AlOx
在使用其他材料的文獻中,reset current一般是在 mA 或幾百 uA 等級,但 AlOx 具有較低的 reset current 約 1uA。甚至在 AlOx 中摻雜 N 以後,reset current 可下降到 <100 nA。此外,AlOx 的 LRS 通常是 Mega 歐姆等級,可以減輕 sneak path 的影響,並實現更大的 array。

TaOx
endurance 高 (>10^9 or 10^12)

RRAM array 架構

Cell
由於 RRAM device 在 forming 或 set 的過程中,會發生電流急遽上升的狀況,因此在 cell 的設計上,必需有一個限制電流的機制 (current limiter),避免太大的電流造成 device 毀損。由於電晶體在 saturation region 有較大的電阻,電晶體適合做為 current limiter (1T1R cell)。由於在電晶體和 RRAM 之間,容易有一個寄生電容,在 forming/set 的過程中,當電阻突然下降時,兩端的跨壓無法立即下降,因此會產生 overshoot 電流,造成導電路徑的直徑變寬,或者產生多條導電路徑,之後的 reset current 也會隨之上升。因此,contact RRAM 將 RRAM 製作在電晶體的 drain 或 source 端,可以降低寄生電容。

Process Technology
前面提到,當我們將 RRAM 的厚度縮小到 3nm 時,可以實現 forming-free device。然而,這也同時會造成更高的 defect density,進而讓 HRS 的電阻值變低,使得記憶體的高電阻和低電阻間的 window 縮小。

Memory Array
NOR-type RRAM memory array 通常包含了word line encoder、bit line encoder、sense amplifier、output buffer、read driver、write driver 等周邊電路。為了提供足夠的 set/resest 電壓 (~2V),電晶體的 size 沒辦法隨著製程微縮不斷的縮小下去,因此有些研究嘗試將平面的電晶體,換成能夠垂直的 BJT。由於 bipolar device 的兩端都需要施加電壓,因此 array size 會比 unipolar device 還要大。
對於 unipolar device 來說,由於需使用 diode 作為 selector,傳統的 diode 無法在 BEOL 進行製造,若要實現 RRAM 的 3D 堆疊,則必須使用由氧化物製成的 diode,例如 NiOx/TiOx 和 CuOx/InZnOx,且此 diode 的 ON/OFF ratio 是要考量的。
對於 bipolar device 來說,則必須有能夠雙向導通且相容於 BEOL 的 diode,例如文獻已將能夠雙向導通的 oxide-based diode 和 RRAM 串起來,成為 1D1R cell (Ni/TiOx/Ni/HfOx/Pt、Ir/Ta2O5/TaO2/TaN/SiNx/TaN),其中 Ni/TiOx/Ni 和 TaN/SiNx/TaN 分別是雙向導通的 diode,串聯了 HfOx 和 TaOx 材料的 RRAM。由於 diode 太小就無法提供足夠的 set/reset 電流,而且若 selector 本身的電阻太大,就會導致最後分壓到 RRAM 上面的電壓過小,因此在製程微縮時,必須考量到 selector。

Device 的評估要點

Uniformity
Device 的 variation 有兩類,第一類是 temporal fluctuation (cycle to cycle),第二類是 spatial fluctuation (device to device)。LRS variation 通常來自於導電路徑的數量和大小,因此若我們能夠事先就限制了導電路徑的面積,那 LRS variation 可以減少。而 HRS variation 則是來自於 tunneling gap distance 的 variation,這部分的 variation 就很嚴重,因為 gap distance 和 tunneling current 是 exponential 關係。其中一個改善 uniformity 的方法,是在電極和氧化物之間插入 buffer layer,例如在 TiN 和 HfOx 之間插入 Al。

Endurance
通常隨著寫入次數越多以後,device 的 HRS 會漸漸地下降,到最後就會發生 stuck-at LRS 的情況。

Retention
要做為記憶體使用,RRAM device 必須能夠承受85度C的溫度,並且承受反覆的讀取而不丟失資料。在實驗中觀察到,當 programming voltage amplitude 線性增加時,device 的 switching time 會 exponentially 減少。

Multibit Operation
研究發現,LRS的電阻值,可以藉由調整 set compliance current 來改變。可能的原因,推測是 set compliance current 能夠造成導電路徑的直徑和數量有所改變。
而 HRS 的電阻值,可以透過改變 Vstop 電壓來調整。其中 Vstop 電壓代表:當我們在做 reset時,會施加一個由低往上升高的電壓,而 Vstop 電壓就是最後我們停止的電壓。
在 CuOx、TiOx、HfOx、WOx、TaOx 的 RRAM 中,都可以看到能夠實現 MLC 的特性,其中 HfOx 可以實現 5 個l evels,而 WOx 可以實現 8 個 levels 但需要進行 verification。
在實驗中觀察到,當 programming voltage amplitude 線性增加時,device 的 switching time 會 exponentially 減少。因此有研究指出,我們可以使用 voltage amplitude 或者用 programming pulse with 來調整電阻值,但使用 voltage amplitude 會消耗較少的能源。

Technology Scaling
隨著製程微縮的過程,RRAM cell 的面積會逐漸縮小,根據實驗的結果,HRS 的電阻值會越來越大,而 LRS 的電阻值卻沒有太大的改變。其原因在於,當 RRAM cell 面積縮小時,根據歐姆定律,電阻值是反比於面積。但 LRS 的電阻值是由導電路徑決定的,這部分與面積沒有太大的關連性。這種隨著製程微縮,ON/OFF ratio 加大的趨勢,對於 RRAM 作為記憶體而言,是一個優勢。



Reference
Wong, H. S. P., Lee, H. Y., Yu, S., Chen, Y. S., Wu, Y., Chen, P. S., ... & Tsai, M. J. (2012). Metal–oxide RRAM. Proceedings of the IEEE, 100(6), 1951-1970.

2019年11月4日 星期一

Chiplet 及 System on a Wafer (SoW)


Chiplet

要了解什麼是 Chiplet (小晶片),首先可以先看一下兩個不同的名詞:System on a Chip (SoC) 和 System on a Wafer (SoW)。

顧名思義,SoC 是將一個系統,包含處理器、記憶體、其他周邊裝置,使用積體電路技術,製造在同一個晶片上。由於 SoC 的發展,智慧型手機等行動裝置或其他電子產品,體積越來越小,功能卻越來越多元。

然而,這麼多功能需要有不同的電路區塊來實現,SoC 將所有的電路區塊都放在同一個晶片上,也因此要求所有的電路都必需以相同的半導體製程來實現,例如某一個晶片是用 7 奈米製程實現,那麼在此晶片上所有電路都必需使用 7 奈米製程。

而 SoW 是最近興起的新方法,由於先進封裝技術的發展,例如台積電的 CoWoS 和 InFO,我們開始能夠將不同製程製造出來的晶片,透過封裝技術,在一個矽基板 (silicon interposer) 上連接起來。這些晶片可以由不同的製程節點製造,例如,要求高效能的晶片,可以使用 7 奈米,而某些有成本考量的,可以使用較成熟的製程來製造。甚至,運用 SoW 技術,能夠實現異質整合,亦即有些晶片可以採用特殊製程製作,例如 DRAM 或類比晶片,接著再用 SoW 技術將他與邏輯製程晶片如 CPU 等進行封裝。

CoWos


Source: Goel, S. K. (2012, November). Test challenges in designing complex 3D chips: What in on the horizon for EDA industry?: Designer track. In 2012 IEEE/ACM International Conference on Computer-Aided Design (ICCAD) (pp. 273-273). IEEE.

Source: Lin, L., Yeh, T. C., Wu, J. L., Lu, G., Tsai, T. F., Chen, L., & Xu, A. T. (2013, May). Reliability characterization of chip-on-wafer-on-substrate (CoWoS) 3D IC integration technology. In 2013 IEEE 63rd Electronic Components and Technology Conference (pp. 366-371). IEEE.
Source: Hou, S. Y., Chen, W. C., Hu, C., Chiu, C., Ting, K. C., Lin, T. S., ... & Wang, C. T. (2017). Wafer-level integration of an advanced logic-memory system through the second-generation CoWoS technology. IEEE Transactions on Electron Devices, 64(10), 4071-4077.

InFO


Source: Tseng, C. F., Liu, C. S., Wu, C. H., & Yu, D. (2016, May). InFO (wafer level integrated fan-out) technology. In 2016 IEEE 66th Electronic Components and Technology Conference (ECTC) (pp. 1-6). IEEE.

了解了 SoW 後,我們就明白,目前的 IC 製造已擺脫了過去的限制,一個系統上的許多電路區塊,可以依照需求分成許多的 chiplet (小晶片),而這些小晶片可以使用不同的製程來製造,並使用封裝技術在一個矽基板上連接起來。

挑戰

根據 Intel 的觀點,chiplet 的發展面臨以下幾個挑戰。
  1. 裸晶 (bare die) 測試方法:沒有封裝時,由於裸晶接腳更小,探針卡需要更精密。測試機台要能提供足夠的 power,並將 power 送入裸晶中。以及每一個 chiplet 必須能夠被獨立的測試;在過去 SoC 當中,某些電路區塊可能仰賴其他電路區塊提供 clock 等訊號;在 chiplet 測試中,每一個 chiplet 則必須能夠獨立運作。
  2. 供電 (power) 及散熱 (thermal) 問題。

相關組織

Chiplet 的發展,受到美國國防高等研究計畫署 (DARPA) 下的 CHIPS (Common Heteregeneous Integration and IP Reuse Strategies) 計畫支持。此外,ODSA (Open Domain-Specific Architectures) 計畫是產業界相關的企業共同成立,提供一個平台讓企業共同討論 chiplet 及封裝層級整合 (package level integration) 未來的發展方向。


Reference
Intel's View of the Chiplet Revolution


2019年10月21日 星期一

學術英文寫作技巧


Old-to-New Flow

This/These + Summary Words

Linking Words/Phrases

General-Specific Text

  1. General statements
  2. Definitions
  3. Statistics

Writing Definitions and Extended Definitions

  1. Begin with a general, one-sentence definition
  2. Additional details focus on aspects such as components, types, applications, history or examples 

Problem-Solution Text

  1. Situation (background information)
  2. Problem
  3. Partial solution
  4. Evaluation
  5. New solution
  6. Evaluation

Structure of Data Commentary

  1. Location elements
  2. Highlighting statements
  3. Interpretations and implications

Reference
Swales, J. M., & Feak, C. B. (2004). Academic writing for graduate students: Essential tasks and skills (Vol. 1). Ann Arbor, MI: University of Michigan Press.

2019年9月25日 星期三

喜歡的書

小說

復活 (托爾斯泰)
流浪者之歌 (赫曼 赫塞)
父與子 (屠格涅夫)
小王子 (安東尼 聖修伯里)
射鵰英雄傳 (金庸)
雪國 (川端康成)
古都 (川端康成)

偵探小說

毒巧克力命案 (安東尼 柏克萊)
猶大之窗 (約翰 狄克森 卡爾)
夢幻花 (東野圭吾)

傳記

電學之父:法拉第的故事 (張文亮)
經驗與信仰 (李國鼎)
孫運璿傳 (楊艾俐)
生死之間 (柯文哲)
京瓷哲學 (稻盛和夫)
蘇東坡傳 (林語堂)
張忠謀自傳 (張忠謀)

自然科學

碼書:編碼與解碼的戰爭 (賽門 辛)
當張仲景遇上史丹佛 (李宗恩)
無限的力量 (Steven Strogatz)
物理奇才奇事:智慧巨光照亮自然奧秘 (楊信男、蕭如珀)
最後一個知識人 (路易斯 達奈爾)

人文社會

箭藝與禪心 (奧根 海瑞格)
晶片戰爭 (克里斯 米勒)
歷代經濟變革得失 (吳曉波)
經濟殺手的告白 (約翰 柏金斯)

管理

人月神話 (Frederick P. Brooks Jr.)

生命

金剛經 (釋迦牟尼佛)
六祖壇經 (六祖惠能大師)
禪學入門 (鈴木大拙)
禪與日本文化 (鈴木大拙)
基督徒參禪:在默觀中空虛自己 (羅拔 甘廼迪)


2019年8月14日 星期三

有限狀態機


每一個有限狀態機 (Finite State Machine, FSM) 通常包含了以下幾個組成要件:輸入字母表、狀態集合、轉移函數、輸出子母表、輸出函數,而根據輸出的產生方式不同,FSM 又可以分為以下兩種模型。

Mealy Machine

Mealy Machine [1] 的輸出和目前的狀態以及輸入有關。

數學模型 (S, S0, Σ, Λ, T, G)
S:狀態集合
S0:初始狀態
Σ:輸入子母表
Λ:輸出子母表
T:轉移函數 (T: S×Σ → S)
G:輸出函數 (G: S×Σ → Λ)

Moore Machine

Moore Machine [2] 的輸出只和目前的狀態有關。

數學模型 (S, S0, Σ, Λ, T, G)
S:狀態集合
S0:初始狀態
Σ:輸入子母表
Λ:輸出子母表
T:轉移函數 (T: S×Σ → S)
G:輸出函數 (G: S → Λ)

從輸出函數 G 的差異可以看出,Moore Machine 的輸出只和目前的狀態有關,而Mealy Machine 的輸出和目前的狀態以及輸入都有關。

FSM 設計流程

  1. 畫 State diagram
  2. 建立兩個真值表 (truth table),一個是 next state 和 present state 及 input 的關係,另一個是 output 和 present state 及 input (Mealy machine only) 的關係
  3. 運用 Karnaugh map 進行邏輯化簡,得到 next state 和 output 的布林函數
  4. 使用 combinational circuit 實現布林函數,用 DFF 存放 FSM 狀態
  5. 決定是否要在 output 之後加上一個額外的 DFF,以消除 glitch 或實現 pipelining
其他在設計上需注意之重點:
  • Mealy machine 和 Moore machine 可以互相轉換,並且 Mealy machine 的狀態數量會小於或等於 Moore machine
  • 需檢查是否存在 under- or overspecified state transition diagram
  • Transition 種類:{conditional, timed, conditional-timed, unconditional}
  • FSM 種類:{regular machine, timed machine, recursive machine}

FSM 種類

  • Regular machine:State machine 的轉移函數與時間無關,且輸出函數與先前的 output 無關
  • Timed machine:State machine 的轉移函數與時間有關,但輸出函數與先前的 output 無關
  • Recursive machine:State machine 的轉移函數與時間有關,且輸出函數與先前的 output 有關
在 timed machine 中,由於轉移函數與時間有關,所以在硬體上需要一個 counter,在每一次狀態轉換的時候,counter 會歸零,並且當處在轉移函數與時間有關的狀態中時,counter 會在每一個 clock cycle 遞增。

而在 recursive machine 中,由於輸出函數與先前的 output 有關,因此需要額外的 memory 用來儲存先前的 output。

FSM 結合/分解 (Association/Decomposition)

當我們要實現一個較複雜的功能時,可以先實現多個較簡單的 FSMs,並且將這些 FSMs 結合起來。也可以看做是將一個複雜 FSM,拆解成多個簡單的 FSMs。

FSM 結合的方法有以下三種:
  1. 序列結合式 (Serial association)
  2. 平行結合式 (Parallel association)
  3. 內部結合式 (Internal association)

Datapath 控制單元 (Control Unit)

無論是簡單的算數邏輯運算,或是較複雜的演算法,其實都是一個資料流動的過程,資料從一個輸入端進入,在資料路徑中傳遞,經過不同的功能單元 (functional unit),直到從輸出離開為止,也有可能這個資料路徑是有回饋的、或者是一個封閉的迴圈。而為了實現複雜的運算功能,我們可以利用 FSM 來進行資料路徑的控制。

在資料路徑中,常見的功能單元有:
  • 暫存器 (Register):由 DFFs 所組成。
  • 記憶體 (Memory):由 SRAM 儲存單元組成,儲存運算當中所產生的資料。
  • 多工器 (Multiplexer):藉由一個選擇訊號來從多工器的多個輸入路徑中選擇一條作為輸出。
  • 算術邏輯單元 (Arithmetic logic unit; ALU):進行加、減、乘、除等算術運算,或者是 and、or、not 等邏輯運算。
在 FSM 的設計中,則需要注意以下幾個重點:
  • FSM 通常只負責產生控制訊號,而不會直接存取資料。
  • 需注意資料間相互依賴關係 (data dependency)。

Reference [3] 是很好的教材,推薦給大家。


Reference
[1] Mealy, G. H. (1955). A method for synthesizing sequential circuits. The Bell System Technical Journal, 34(5), 1045-1079.
[2] Moore, E. F. (1956). Gedanken-experiments on sequential machines. Automata studies, 34, 129-153.
[3] Pedroni, V. A. (2013). Finite state machines in hardware: theory and design (with VHDL and SystemVerilog). MIT press.

2019年8月13日 星期二

半導體製程演進


1965年,Intel 創辦人之一 Gordon E. Moore 根據對半導體發展的觀察,提出了摩爾定律 (Moore's Law):「在積體電路上可容納的電晶體數量每18個月增加一倍。」

這也是為何在半導體製程節點 (technology node) 中,每一代是前一代的 0.7 倍,例如 90nm、65nm、45nm、32nm、22nm、16nm、10nm、7nm、5nm、3nm。

其中 0.7 倍的縮小倍數,指的是電晶體的長、寬都縮小 0.7 倍,因此面積就是縮小 0.7 * 0.7 = 0.5倍,隨著電晶體的微縮,在電氣特性上,也會隨之改變。

Width (W) = 0.7X
Length (L) = 0.7X
Die area = 0.7 * 0.7 = 0.5X
Oxide thickness (tox) = 0.7X
Area capacitance (Ca) = (0.7 * 0.7) / 0.7 = 0.7X
Fringing capacitance (Cf) = 0.7X
Total capacitance (C) = 0.7X
Delay = 0.7X
Operation frequency (f) = 1 / 0.7 = 1.43X

因此,在原有晶片設計不改變的情況下,如果我們將它轉移到新一代的製程上製造,就可以得到 performance 的提升 (f = 1.43X)。

由於晶片所消耗的 power 和操作電壓 (VDD) 有關係,因此分成 constant voltage scaling 和 constant electric field scaling 兩種情況。

(1) Constant voltage scaling
VDD = 1X
Power = C * V² * f = 0.7 * 1 * 1.43 = 1X

(2) Constant electric field scaling
VDD = 0.7X
Power = C * V² * f = 0.7 * 0.7² * 1.43 = 0.49X


Reference
Borkar, S. (1999). Design challenges of technology scaling. IEEE micro, 19(4), 23-29.
Keyes, R. W. (2006). The impact of Moore's Law. IEEE solid-state circuits society newsletter, 11(3), 25-27.

2019年8月10日 星期六

IBM TrueNorth

硬體

IBM TrueNorth 晶片使用 Samsung 28 nm 製程,每個晶片中有 540 萬個電晶體,面積為 4.3 cm²,功耗密度為 20 mW / cm²。相較之下,傳統的 CPU 功耗密度為 50-100 W / cm²。

每一個晶片中包含 4096 個 neurosynaptic core,每一個 core 當中都包含 256 個神經元,以及 256×256 個突觸。這些 core 組成了一個二維的 mesh 網路,當用它來處理 400×240 pixels (RGB) 的 30 fps 影片時,僅消耗 63 mW。

每一個 core 當中有許多可被定址的突觸前軸突 (presynaptic axons),一個 synaptic crossbar array,以及許多可被程式化的神經元。神經元的動態模型的 time step 是 1 ms,當 spike 在系統上的不同晶片之間傳遞時,可被視為是在 long-distance axon 上傳遞,其時間上的延遲也被考慮進去了,是介於 1~15 個 time steps。

當一個神經元產生 spike 時,它會在local memory 中查表得到 4 bits 軸突延遲 (axonal delay)、8 bits 目的地軸突位址、兩個 9 bits 相對位址 (用來在64×64 個 core 組成的 mesh 網路中進行跳躍傳遞。每一個 core 當中的 router,會負責將上述資訊所組成的 packet 在 mesh 網路中傳遞,且每一個 router 都有五個傳遞方向可以選擇,包含東、西、南、北、本地。

每一個突觸前軸突都有一個可調整的權重,是有號整數 (signed integer)。而突觸權重則只有一個 bit 儲存,因此只有連接和非連接兩種狀態。

每一個 core 上分別有 104448 個 bits 的 SRAM,其中 65536 bits 用來儲存突觸狀態,31232 bits 用來儲存神經元狀態和參數,6656 bits 用來儲存目的地位址,1024 bits 用來儲存軸突延遲。

其功耗是一個和 spike rate、spike 平均傳遞距離、單一神經元的平均活躍 synape 個數有關的函數。

軟體

除了設計 TrueNorth 晶片以外,IBM 也建立一個軟體生態系統,相關的軟體包含 Compass 及 Corelet。

Compass 是一個用 C++ 開發,可以對 neurosynaptic cores 網路結構進行模擬的軟體。透過 Compass,可以在晶片的設計階段,對晶片進行邏輯驗證。此外,Compass 也可以提供一個環境給 neural network 應用的開發者,在硬體尚未完成前,評估應用的可能性;也可以用來分析和優化硬體功耗。

Corelet 則是一個程式語言及開發環境 (Programming language and environment)。Corelet 將硬體進行抽象化,使用者可以用程式語言建立一個網路結構,並且可以調整相關的參數,接著這個程式就可以在 TrueNorth 上執行。

IBM 使用 off-line learning 的方式,已將一些常見的問題 map 到 TrueNorth 架構上,例如:CNN、liquid state machine、restricted Boltzmann machine、hidden Markov model、SVM、optical flow 以及 multi-modal classification。


Reference
Merolla, P. A., Arthur, J. V., Alvarez-Icaza, R., Cassidy, A. S., Sawada, J., Akopyan, F., ... & Brezzo, B. (2014). A million spiking-neuron integrated circuit with a scalable communication network and interface. Science, 345(6197), 668-673.

2019年7月21日 星期日

部落格的緣起


建立這個部落格的原因,是由於看到了以下這篇文章:
求生之路:博士生涯的17條簡單生存法則

在讀博士班的第三年,我發現自己很沮喪、失去信心,不明白自己繼續堅持下去的原因是什麼。很感恩在這個時間點,看到了這篇文章,也認識了幾位在不同領域、不同國家的博士生,讓我明白到,原來不是只有我一個人的博士班讀的這麼挫折,也不是只有在台灣如此,原來只要是博士生,都可能有類似的經歷。也因為文章中建議博士生要寫文章分享自己的經歷,所以就有了這個部落格。

此外,也發現自己常常在讀到一些書或文章時,覺得有所收穫,但是往往經過一段時間以後,卻忘得一乾二淨,甚至連當初在哪裡讀到的都忘記了,因此在撰寫部落格文章的過程,其實也是幫助自己留下一個紀錄,萬一以後失憶了,可以到這裡找回來。

還有最後一個原因:相信在電機、資工領域的研究生或是大學生們,對於上網學程式語言、學習專業知識並不陌生。在這個過程中,我發現大多數最新的技術資料,都是以英文撰寫的。偶然看到一些寫得非常好的文章,讓我能夠在期中、期末專題作業的轟炸中存活下來,心中會覺得非常的感恩。也讓我萌生了一些想法,希望能夠將自己的所學,用大多數台灣學生熟悉的語言—中文記錄下來,希望也能夠有更多的人加入這個行列,將自己的所學分享出來,幫助到更多的人。