GPU
3D visualization of the GB202 fabrication process , GB202 die, process detailed (share)
張老師與他的科技英文與科普傳播 Technical English for Engineering Students Using Claude
Handouts
課堂練習
Deadline: This Saturday at 23:59
Send all the share links to me chang212@gmail.com by email with subject EX#4 [your id, your name]
任選一題
1.
Solve Pz 2 by A*/BFS
Animate search tree with synced progression (A*/BFS side-by-side)
2.
Solve Pz 20 by A*/BFS
Animate search tree with synced progression (A*/BFS side-by-side)
3. Solve Dog Ball Retrieval by A*/BFS
Animate search tree with synced progression (A*/BFS side-by-side)
Handouts
課堂練習
Deadline: This Saturday at 23:59
Send all the share links to me chang212@gmail.com by email with subject EX#3 [your id, your name]
1.
Solve Pz 2 using reasoning with each step whether correct or incorrect, showing backtracking.
Animate the reasoning process in the above synced with river crossing scenarios.
2.
Solve Pz 20 using reasoning with each step whether correct or incorrect, showing backtracking.
Animate the reasoning process in the above synced with river crossing scenarios.
3. Solve Dog Ball Retrieval then animate the solution you got.
Failure example puff
BJT Differential Pair (解說版)
「用 Claude 做類比 IC 設計」系列頁面12345678910111213141516171819模型:NPN β 200、V_A 100 V;橫向 PNP β 50、V_A 50 V、τ_F 30 ns;V_T 25.85 mV、V_BE 0.65 V回到部落格文章
一套與 Claude 逐步建構的流程,把 BJT 差動對從電路圖一路做到對稱、無壅塞的三層金屬繞線。同一個引擎接著擺置並繞線一顆 µA741 風格的兩級運算放大器核心。
在 10 個種子上,把繞線層數從一層加到三層,就清掉了所有共用格點:單層平均剩 2.9 個,三層一個也不剩。接著在交叉耦合的共質心輸入四元組上加入鏡像對稱約束,Vin± 路徑長度的平均匹配度從 80.5% 提高到 95.5%,代價是繞線長度多 23%。
每個階段都有一個互動頁,數字在瀏覽器裡即時重算。14 個佈局頁共用同一個擺置繞線引擎,在 80 × 60 的網格上運作,所以同樣的種子與設定在每一頁都得到同樣的佈局;4 個電路頁則共用同一套手算模型。它是教學與原型驗證平台,不是可簽核(sign-off)的佈局:沒有晶圓廠設計規則、沒有寄生萃取,也沒有佈局後模擬。
擺置先確定對稱與元件分散,再用短暫的試繞挑出要繞線的擺置影格。PathFinder 接著每一輪都重繞所有線網,持續提高共用格點的代價,直到沒有格點被共用為止。
單級測試電路是帶主動負載的雙極性差動對:11 個元件、10 條線網、6 個焊墊,位於 80 × 60 的繞線網格上。
電路頁會隨 RE、Rref 與 CL 的變動即時重算工作點與上述指標,也能用模擬退火重新決定 RE 與 Rref:在單位增益頻率、相位邊限與 CMRR 的目標下把功耗降到最低。佈局頁另有 3D 晶粒視圖:每顆電晶體疊成隔離、磊晶島、基極與射極幾層,電阻畫成多晶矽條,電容畫成兩片金屬極板,M1–M3 則分在三個高度,以 via 相連;第 10 頁則更進一步,把同一份網表畫成實尺寸佈局,用 KLayout 跑 DRC 與 LVS,再把萃取出的寄生放回 ngspice 模擬。
互動頁:電路圖、工作點與尺寸
擺置採用二次式擺置最佳化(QPO):每次掃描先解一次二次規劃求線長最小,再把結果合法化到網格上;先只看線長,再加入壅塞項。
這幾頁跑的是早期流程,沒有對稱約束,也沒有穩定化修正;兩者都在下文說明,另外也會談到每一頁都在元件周圍保留的繞線餘裕。
互動頁:QPO 擺置與單層繞線
繞線採用協商式壅塞:PathFinder [1] 每一輪都拆除並重繞所有線網,並以 A* [2] 作為單一線網的路徑搜尋。沒有任何格點被共用,或跑滿 32 輪時停止。
只有一層時,10 條線網全擠在同一張網格上,必須交叉的線網無處可讓:10 個種子中 PathFinder 一次也沒收斂,平均剩 2.9 個共用格點。原工具後來的「多層」版本雖然把線網畫在兩個高度,繞線器搜尋的仍是單一網格,金屬層與 via 都只是外觀;在引擎中重現後,結果與單層完全相同。
修正後的繞線器在 (x, y, 層) 空間中搜尋,每層各有獨立的占用圖,每個 via 都計入代價,並回報 via 數。它使用三層金屬:M1 與 M3 偏好水平走線,M2 偏好垂直走線,接腳可經 via 堆疊從任一層進出。
真正解決壅塞的是這項改動,而不是擺置調整:10 個種子都在 3 到 4 輪內收斂、沒有共用格點,繞線長度下降 36%(445 → 286,表 1)。把接腳限制在 M1 影響不大。在原專案中,先前三項擺置調整(硬邊界殼、通道強制、考慮元件外框的斥力)攻錯了瓶頸,均已撤回。
互動頁:偽多層繞線器 · 壅塞報告 · 含 via 計數的三層繞線器 · 繞線對話紀錄
三層金屬消除了壅塞,但 Vin± 平均匹配度仍只有 80.5%,視種子不同落在 59% 到 100% 之間,因為失配來自擺置,而非繞線。
沒有對稱約束時,QPO 會把四顆輸入電晶體放在線長拉向的任何地方,兩條輸入路徑在拉線之前長度就已經不同,任何繞線器都無法挽回。
修正方式是在每次二次求解之後,把四顆輸入電晶體當成一個剛性的 2 × 2 單元整組合法化:上排 Q1a、Q2a,下排 Q2b、Q1b,以晶粒的垂直中線(x = 40)為軸鏡像對稱。每個輸入的兩半位於對角線上,因此四元組是交叉耦合的共質心結構,每一組鏡像對都各含兩個輸入的一半。負載對 Q5/Q6 以同一軸鏡像,尾電流電晶體 Q3 則置於軸上。
匹配度是繞線指標,定義在 Vin+ 與 Vin− 路徑的繞線長度 L⁺ 與 L⁻ 上:
匹配度 = 1 − |L⁺ − L⁻| / max(L⁺, L⁻)
它衡量的是路徑長度是否平衡,而非電晶體失調;元件匹配來自共質心擺置本身。
表 1:單級結果,為 10 個種子(42、137、256、314、500、777、999、1234、2025、8888)的平均。「共用」是繞線後被一條以上線網占用的格點數,「零共用」是共用格點歸零的種子數,「匹配度」是 Vin± 路徑長度匹配度,「線長」是繞線長度(網格單位,不含 via)。前四列是早期流程,沒有對稱與穩定化。
| 組態 | 共用 | 零共用 | 輪數 | 匹配度 | via | 線長 |
|---|---|---|---|---|---|---|
| 僅 A*,無協商,單層 | 13.0 | 0/10 | 1 | 76.9% | 0 | 291 |
| PathFinder,單層 | 2.9 | 0/10 | 32(上限) | 78.8% | 0 | 445 |
| PathFinder,三層,接腳僅在 M1 | 0 | 10/10 | 2.5 | 80.2% | 17.1 | 282 |
| PathFinder,三層,接腳可在任一層 | 0 | 10/10 | 3.1 | 80.5% | 18.4 | 286 |
| + 對稱硬約束 | 0 | 10/10 | 2.0 | 95.5% | 18.6 | 353 |
加入對稱約束後,各種子的匹配度落在 91.5% 到 98.3%,沒有約束時則是 58.8% 到 100%;繞線長度增加 23%(286 → 353)。
互動頁:對稱硬約束 · 基準報告(表 1) · 同一佈局,極簡主題
同一套流程接著佈局一顆兩級運放核心:前述差動級之後,接射極隨耦器(Q8)、以 PNP 電流源(Q10)為負載的共射極增益級(Q9),以及米勒補償(Cc)。晶粒擴增為 17 個元件、13 條線網、5 個焊墊,網格大小不變。
第一級透過 Q5/Q6 電流鏡,把差動輸入轉成節點 N2 上的單端訊號。Q8 緩衝 N2:少了它,Q9 約 29.5 kΩ 的輸入電阻會直接負載 N2,第一級增益將從約 689 掉到約 11。Q9 提供電壓增益,跨接在 N2 與 VOUT 之間的 Cc 決定主極點。Q11、Rref 與 Q4 組成的偏壓鏈同時供應 Widlar 尾電流源與 Q10。
此架構仿照 µA741 [3](Dave Fullagar 於 Fairchild 設計,1968 年推出),但它並不是 741。它保留了 741 的偏壓數值(39 kΩ 參考電阻與 5 kΩ Widlar 電阻,尾電流約 19 µA)、增益級(射極隨耦器驅動共射極電晶體,射極電阻 100 Ω,負載為 0.75 I_REF 的電流源)以及 30 pF 米勒電容。它把 741 由 NPN 射極隨耦器與橫向 PNP 共基極組成的輸入串接,換成單純的 NPN 差動對,並省略 AB 類輸出級與短路保護。少了這組串接,輸入轉導是 g_m1 而不是 g_m1/2,所以增益頻寬積約 1.9 MHz,而非約 1 MHz。
原始電路圖的審查找出四個錯誤,重做的圖都已修正:
擺置與繞線沿用單級流程,但元件換成第 10 頁的實尺寸佈局單元:12 個單元照原尺寸擺放,輸入四元組整組放在輸入焊墊的對稱軸上,每個單元四周保留一條空軌,再用與第 10 頁同一套兩層金屬 PathFinder 繞線。10 個種子全部收斂,平均 6.7 輪,線長 7,456 µm、via 51.5 個、Vin± 匹配度 93.9%。依收斂、共用格點、未連接的接腳、線長加 via 的順序排名,最佳的是種子 777:7 輪、線長 7,030 µm、via 52 個、匹配度 92.6%。第 10 頁的手排平面圖用同一個繞線器,需要 7,700 µm 與 48 個 via。種子 42 與 777 的佈局匯出成 GDS 後,都通過與第 10 頁相同的 DRC 與 LVS。
互動頁:方塊圖 · 兩級晶粒(實尺寸) · 電路圖(黑白) · 電路圖(彩色) · 擺置與繞線(實尺寸) · 10 個種子取最佳(實尺寸) · 設計對話(由簡單差動對發展而來)
後續三項改動讓流程更穩定、收斂更快。以下數字都是兩級設計在同樣 10 個種子上的平均,由第 16–19 頁共用的 80 × 60 網格引擎重新計算。
把 QPO 預算加倍(第一階段由 24 次增為 48 次掃描,第二階段每輪由 6 次增為 12 次)後出現不穩定。兩種情況下第一階段都停在差不多的 HPWL,約 380;但沒有保護機制時,第二階段每次推移都把元件推得更散,平均 HPWL 一路升到 558,比第一階段的結果高約 47%。
四項修正讓它穩定下來:
第二階段的推移步長也減半,由 2.0 降為 1.0。
為了單獨比較擺置,每次執行都直接繞最後一個影格,不經影格挑選。兩種版本在 10 個種子上都收斂、沒有共用格點,但修正讓平均 HPWL 下降 25%(558 → 417),繞線長度加 via 也下降 25%(678 → 510);Vin± 平均匹配度由 96.2% 變為 95.8%。拆解實驗可以分開兩者的貢獻:只把步長減半,HPWL 為 458;只加四項修正,HPWL 為 408,但 10 個種子合計觸發 25 次回拉、6 次回復。兩者並用時,兩種保險都不會觸發,成了備而不用的安全網。
並非每個共用格點都是衝突。把多端線網從源點接腳拆成多條兩端連線時,這些連線必然在源點重疊,在分支處也常重疊。把這些格點算成溢用,PathFinder 就會讓同一個線網跟自己的線互相加價:拆分且計入重疊時,10 個種子全部跑到 32 輪上限,平均剩 13.1 個共用格點,而且每一個都是同一線網內的重疊。把同線網重疊從占用計數中排除後,每個種子都收斂,平均 2.8 輪。像其他頁面那樣把每個線網繞成一棵樹,則根本不會跟自己衝突,結果也最短:繞線長度加 via 為 466,排除重疊的拆分為 536,未排除的拆分為 709。
合法化時在每個元件本體與接腳周圍保留 m 條空軌,這就是重疊懲罰。m = 0 只保證不重疊,元件可以緊貼;一個接腳若三面被鄰近元件擋住、第四面是自己的本體,就在任何一層都連不到。10 個種子中,m = 0 只有 4 個收斂:6 個種子各有一個接腳連不出去,一路跑到 32 輪上限,平均 20.8 輪。保留一軌(m = 1)時 10 個種子全部收斂,平均 2.9 輪。保留兩軌也都收斂,平均 3.1 輪,但繞線長度加 via 多了 14%,所以預設 m = 1。
互動頁:調校投影片 · 穩定化基準 · 幽靈壅塞 · 重疊懲罰與繞線餘裕 · 重疊懲罰基準
AI for solving amplifier electronics (課堂講義)
建議工具
使用 Gemini 3 Pro 免費額度最高 1M tokens
使用 Grok 4
Content share
課堂練習
Deadline: This Saturday at 23:59
Send all the share links to me chang212@gmail.com by email with subject EX#2 [your id, your name]
How to publish a Claude artifact, share alone mayl not work. why?
四題任選兩題
1. Make the Bode plot of Circuit in Example 1, as below. You must verify the results for correctness.
The results must be scientifically accurate.
Reference materials:
How to make Bode plots
Make Bode plot:
2. Lab Activity: Amplifier Gain & Frequency Response Using AI-Assisted Analysis
3. With the following circuit and its Bode plot, as in Example 3
4. Comparing LLMs: Claude 4.6, Gemini 3.0 Pro, ChatGPT 5.0 (三選二) for the following task.
Animate in 3d (in three.js) Yagi-Uda Antenna, AI pipe inspector, or things you choose. (擇一)
The animation must be scientifically accurate.
Hints
Animate in 3d (in three.js) Yagi-Uda Antenna, AI pipe inspector, or things you choose. (擇一)
The animation must be scientifically accurate.
Hints