1985-GAL 電可擦除邏輯#
案件摘要#
(Lattice Semiconductor 於 1983 年創立,1985 年推出 GAL16V8:以 CMOS EEPROM 浮閘技術實現可電擦除、可重複燒錄的 PLD。本案追查浮閘隧穿的物理原理、OLMC 通用架構如何向下相容 PAL、以及 JEDEC 燒錄檔格式如何讓一顆 GAL 取代一整抽屜的 PAL。)
前因 -- 為什麼會會有這個案子#
1978 年 PAL 問世後統治了可程式邏輯市場,但它有一條宿命:熔絲一次性燒錄(OTP)。工程師燒錄 PAL 時,只要布林式化簡錯一項、極性判斷錯一次,或需求改版一個訊號,那顆已燒斷熔絲的 PAL 就只能扔進垃圾桶。在原型開發階段,這種「燒錄即賭博」的成本與心理負擔極大;一個中型專案往往要報廢數十顆 PAL。
1983 年,前 AMD 高層與工程師 C. Jay Bramble、Norman Boggs 等人在美國奧勒岡州創立 Lattice Semiconductor。他們的賭注是:EEPROM 的電可擦除浮閘技術已經成熟,可以搬進 PLD。EEPROM 讓「連接」變成浮閘上電荷的有無——加電壓可以寫入,反加電壓可以擦除,晶片不用離開燒錄座就能反覆修改。
1985 年,Lattice 推出 GAL16V8(Generic Array Logic, 16 inputs, Variable architecture, 8 outputs)。它的殺手級賣點有三:一,電可擦除、可重複燒錄百次以上;二,用可組態的輸出邏輯巨集單元(OLMC)在硬體上「模擬」多種 PAL 的輸出結構,宣稱可取代二十餘種 PAL 器件;三,全 CMOS 製程,功耗遠低於雙極性的 PAL。一個新案就此成立:可程式邏輯從「燒錄即定案」走向「軟體般可重寫」。
線索與推理 -- 數學式、程式、理論(本體,最詳細)#
線索一:EEPROM 浮閘電晶體的物理——電荷就是「連接」#
EEPROM 的儲存單元是浮閘電晶體(floating-gate transistor):在控制閘(control gate)與通道之間夾一層被絕緣層(氧化層)完全包圍的「浮閘」。浮閘上的電荷無法洩漏(絕緣層包圍),因此能非揮發地保存狀態達十年以上。
寫入與擦除靠的是 Fowler–Nordheim 隧穿(FN tunneling):在氧化層上施加强電場,電子以量子隧穿方式穿越矽-二氧化矽的三角形位能障壁。FN 隧穿電流密度為:
其中 \(E\) 為氧化層中的電場強度(V/cm), \(A \approx 9 \times 10^7\ \mathrm{A/(V^2 \cdot cm^2)}\) (電子發射常數,與有效質量相關)、 \(B \approx 2.3 \times 10^8\ \mathrm{V/cm}\) (與障壁高度 \(\Phi \approx 3.2\ \mathrm{eV}\) 相關: \(B \propto \Phi^{3/2}\) )。物理意義解讀:
- 電流密度對電場呈指數依賴:電場每增強一點,隧穿機率 \(\exp(-B/E)\) 急劇上升。
- 實務上需要 \(E \gtrsim 9\ \mathrm{MV/cm}\) 才有可用的隧穿速率;以 10 nm 氧化層估算,需要約 10 V 以上的電壓。
- 這解釋了為何 EEPROM 需要較高的燒錄/擦除電壓(早期 21 V,後期內建電荷泵升壓至 12 V 級),也解釋了為何平常操作(5 V)下電荷幾乎不動——非揮發性的來源正是這條指數曲線的陡峭性。
推理鏈:PLD 的「可程式連接」過去是熔絲的有無(結構性、不可逆);GAL 把它換成「浮閘上有無電荷」(電荷性、可逆)。寫入時以 FN 隧穿把電子打入浮閘(或用熱電子注入),擦除時反加電壓把電子抽走。連接的「導通與否」由浮閘電荷改變該位置電晶體的臨界電壓 \(V_{th}\) 來實現:
浮閘電荷 \(Q_{fg}\) 改變 \(V_{th}\) ,決定該電晶體在讀取電壓下導通與否——這就是「可重寫的熔絲」。
線索二:GAL16V8 的架構——AND 平面 + OLMC#
GAL16V8 保留了 PAL 的基本幾何:AND 平面可程式(16 個輸入、32 條輸入線),OR 平面固定。革命在輸出端:8 個輸出各接一個 OLMC(Output Logic Macro Cell),可由組態位元設定成多種結構。
OLMC 的可組態項:
| 組態選項 | 可設定的模式 |
|---|---|
| 輸出類型 | 組合邏輯(combinational)/暫存器(registered, 帶 D-FF) |
| 輸出極性 | 主動高/主動低(內建 XOR 反相選擇) |
| 三態控制 | 固定使能/乘積項控制/全域 OE 腳控制 |
| 回饋路徑 | 本地回饋/I/O 腳回饋/相鄰 OLMC 回饋 |
其中極性選擇在數學上等價於:
這條極性自由是化簡的大殺器:若 \(\bar{f}\) 的 SOP 乘積項比 \(f\) 少(例如 \(f\) 為高電平稀有的函數),設計者可以實作 \(\bar{f}\) 再由 OLMC 反相——化簡時可自由選擇原函數或補函數中較省的那一個。
線索三:向下相容 PAL 的通用架構推理#
GAL 的「Generic」是行銷更是數學:OLMC 的組態組合可以重現多種 PAL 的輸出結構。對照表:
| PAL 器件 | 其輸出結構 | GAL16V8 對應的 OLMC 組態 |
|---|---|---|
| PAL16L8 | 組合、主動低、I/O 回饋 | 組合模式 + 主動低 + 本地/IO 回饋 |
| PAL16R8 | 暫存器、主動低、FF 回饋 | 暫存器模式 + 主動低 + FF 回饋 |
| PAL16H8 | 組合、主動高 | 組合模式 + 主動高 |
| PAL16RP8 | 暫存器、主動高 | 暫存器模式 + 主動高 |
推理的嚴謹處:GAL 不只電性相容(相同 20 腳 DIP、相同 AND 平面幾何),更要架構相容——也就是說,存在一個從「PAL 器件型號」到「OLMC 組態位元組合」的映射函數 \(\sigma: \text{PAL 型號} \to \{0,1\}^{k}\) ( \(k\) 為組態位元數),使得 GAL 在組態 \(\sigma(P)\) 下的行為與 PAL \(P\) 完全一致。燒錄軟體(如 Lattice 的通用開發環境)自動完成這個映射,使用者只需宣告目標 PAL 型號。這使一顆 GAL16V8 宣稱可取代二十餘種 PAL 器件,報廢的 PAL 從垃圾桶變成了歷史。
線索四:JEDEC 燒錄檔格式——可程式邏輯的「介面標準」#
GAL 時代確立了 JEDEC 標準格式(JEDEC Standard No. 3,JED 檔)作為燒錄資料的通用交換格式。JED 檔以 ASCII 文字描述:
- L 欄位:
L0000 1111...—— fuse 連接點的位元串流,每個 bit 對應 AND/OR 平面的一個交叉點(1 = 連接保持,0 = 連接斷開/不連接)。 - F 欄位:未明確指定的預設值。
- C / Q 欄位:校驗和與保密位元設定。
- G 欄位:安全熔絲(防讀取)等選項。
- 註解欄:以
*分隔的欄位,開頭常註明設計名稱、器件型號、日期。
推理要點:JED 格式把「布林式 → 燒錄」這條流程切成兩個獨立環節——前端(各家的設計軟體,輸入布林式/狀態機描述,輸出 JED 檔)與後端(各家的燒錄器,讀入 JED 檔燒錄)。任何前端的 JED 檔可被任何後端燒錄器使用。這個「介面標準化」的推理,與後續 FPGA 時代「位元流(bitstream)+ 設計工具鏈」的分離如出一轍,是 EDA 產業分工的雛形。
線索五:一顆 GAL 取代多顆 PAL 的經濟性#
| 比較項 | PAL(雙極性,OTP) | GAL16V8(CMOS,EEPROM) |
|---|---|---|
| 燒錄次數 | 1 次 | ≥ 100 次(規格典型值) |
| 擦除 | 不可 | 電擦除,毫秒級 |
| 功耗 | 高(雙極性,數百 mA 級) | 低(CMOS,數十 mA 級) |
| 可取代的 PAL 型號 | 1 種(自己) | 20+ 種 |
| 原型報廢率 | 高 | 趨近於零 |
| 備料/庫存 | 每種型號都要備 | 一顆通用備料 |
經濟推理:設計中心需支援 \(N\) 種 PAL 型號,每種備貨 \(B\) 顆——PAL 庫存為 \(N \times B\) 顆;GAL 只要 \(B'\) 顆通用器件( \(B' \ll N \times B\) )。加上原型的可重寫性使「燒錯即報廢」的隱性成本歸零,以及 CMOS 的低功耗降低系統散熱設計成本,GAL 的總擁有成本(TCO)大幅低於 PAL。這也是為何 1980 年代末,新設計幾乎全面從 PAL 轉向 GAL,而 PAL 只存活在庫存與舊機的維修市場。
結案 -- 後果與影響#
GAL16V8 的推出,把可程式邏輯從「一次性燒錄」推向「軟體般可重寫」,並以 OLMC 通用架構實現了對 PAL 的完整向下相容。Lattice 靠這顆器件從新創公司站穩腳步,GAL 系列至今仍在生產與使用(許多工業控制、老舊系統維修場景中仍可見)。
- 確立 EEPROM 浮閘為 PLD 的可重寫組態技術,成為 CPLD 的標準配備。
- OLMC「通用架構 + 向下相容」的設計思想,是日後 CPLD(如 MACH、MAX 系列)與 FPGA 萬用邏輯塊的前身。
- JEDEC JED 檔格式成為燒錄資料的通用介面,確立「設計工具鏈 / 燒錄器」產業分工。
- CMOS + 低功耗,使可程式邏輯得以進入電池與高密度系統。
- Lattice Semiconductor 站穩後,於 1990 年代推出 ispLSI 系列 CPLD,把「在系統可程式(in-system programmable)」再往前推進。
關鍵人物與文獻#
- C. Jay Bramble、Norman Boggs 等(Lattice Semiconductor 創辦團隊):1983 年創立公司,1985 年推出 GAL16V8。
- Lattice Semiconductor:《GAL Data Book》與 GAL16V8 資料手冊——OLMC 組態與 PAL 相容映射的原始文獻。
- JEDEC:JEDEC Standard No. 3《Standard Transfers of Erasable Programmable Logic Device (EPLD) Programming Data》——JED 燒錄檔格式標準。
- D. Kahng 與 S. M. Sze:1967 年浮閘電晶體的原始發明文獻(Bell System Technical Journal)。
- Fowler 與 Nordheim:1928 年 FN 隧穿理論原始論文(Proc. R. Soc. Lond. A)。
- 教科書:Brown & Vranesic《Fundamentals of Digital Logic with Verilog Design》、Pellerin & Holley《Practical Design Using Programmable Logic》——GAL/OLMC/JED 的教學文獻。