跳轉到

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 隧穿電流密度為:

\[ J = A E^2 \exp\!\left(-\frac{B}{E}\right) \]

其中 \(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}\) 來實現:

\[ V_{th} = V_{th,0} - \frac{Q_{fg}}{C_{ox} W}, \qquad Q_{fg} = \int J\, dt \cdot S \]

浮閘電荷 \(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 回饋

其中極性選擇在數學上等價於:

\[ f = P_1 + P_2 + \cdots + P_k \quad \text{或} \quad \bar{f} = P_1 + P_2 + \cdots + P_k \]

這條極性自由是化簡的大殺器:若 \(\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 的教學文獻。