以 SPICE 進行電路模擬
子電路
有些零件,運放、穩壓器、整顆感測器,複雜到無法用一行 '.model' 刻畫。子電路就是答案:它把一小團原始元件組成的網路,打包成一個有名稱、有幾支接腳的可重複使用區塊,於是你能把整個東西當成單一零件放進電路,而不必管裡頭是什麼。
子電路定義在 '.subckt 名稱 pin1 pin2 ...' 與 '.ends' 之間。裡頭住著一張迷你電路圖,那數十顆模仿運放行為的電晶體、電阻與電流源,但從外面你只看見它的接腳(輸入、輸出、電源)。你用一行 X 來放置它,例如 'X1 in+ in- out vcc vee TL081',把你的節點接到它的接腳上。製造商正是這樣提供複雜零件的模型,你也能用同樣方式自建可重複使用的區塊(一個濾波級、一個感測器模型)並重用許多次。
子電路讓大型模擬變得可管理,你以區塊的接腳來推理它,而非它的內臟,正是良好硬體設計所用的同一種模組化。兩個誠實的提醒:子電路的精度只等於建它的人(廠商的巨集模型可能簡化內部以求跑得快,捨棄了一些真實行為),而且內部節點是區域性的,某個子電路裡名為 out 的節點,與你主電路裡的 out 並不相同,這讓各區塊安全地彼此隔離。
一個運放模型以 '.subckt TL081 1 2 3 4 5 ... .ends' 的形式到來;你完全不必碰它內部的電晶體,只要寫 'X1 3 2 6 7 4 TL081' 把它的正、負、輸出與電源接腳接進你的設計即可。
一個具名、多接腳的元件區塊,你把它當成單一零件放入,不必理會其內部。
子電路隱藏了複雜度,但不保證精度,一個求快的巨集模型可能刻意簡化內部。它的內部節點名稱是私有的,永遠不會和你主電路的節點衝突。
又称
另见