技 术 信 息

    目前位置:

  • 技术信息
  • System Analysis
  • 透過人工神經網路探討信號完整性的未來

透過人工神經網路探討信號完整性的未來

By Team Sigrity, Cadence

想像一下,如果電腦或機器人可以完成所有枯燥乏味的工作,我們就能享受生活、做更多有意義的事(如圖1所示)。這些絕對是許多學術界、工業界研究人員的願望。工程師的最終夢想是 ─ 按下一個「魔法按鈕」,自動實現產品的設計、layout 和優化,並滿足性能參數和可製造性,這依然是科幻小說的情節,但現在各種實驗設計(DOE)的運用使得技術已取得巨大的進步,特別是人工神經網路(ANN)。

圖1

正如我們所知,人工智慧和神經網路的概念已經存在了幾十年。直到近期,在 2015 年左右,相對「廉價」的處理技術(如低成本多核處理器和雲計算)以及大量資料(如大資料)的充足供應才真正促進了該技術的繁榮。

那麼,你可能會問什麼是人工神經網路?更重要的是,這將如何幫助我成為一名優秀的信號完整性(SI)工程師?

要回答第一個問題,網上有許多教程,所以接下來我們將簡單回顧人工神經網路的基本概念,並將這些概念與電氣工程師熟悉的概念聯繫起來。要回答第二個問題,我們將探討一個例子,看看 Cadence® Sigrity™ SystemSI™ 工具如何運用深度學習來預測和優化 DDR4 多點拓撲眼圖。

圖2

人工神經網路是一個節點網路,包含一個基本構建模組,稱為神經元(也稱為感知器),如圖2 所示。這個基本構建模組需要一系列輸入,Xi,其中 X 表示輸入信號(如果需要偏置或截點,可為常數),i 表示輸入個數,範圍為1到 N ,每一個都由 Wi 縮放或加權,形成輸出 Y,運算式如下:

從電氣工程師的角度來看,輸出 Y 近似於輸入值的加權和,類似於在多輸入求和的運算放大器電路,除了它是由函數 f(x)轉換而來的。這個函數 f(x)有個特殊的名字,叫做啟動函數,用來產生非線性輸出並限制輸出範圍。當網路中有很多層時,這對防止輸出飽和非常重要。常見的啟動函數包括雙曲正切函數和 S 形函數。

如圖2 所示,人工神經網路由輸入層、L -隱藏層和輸出層組成,使用基本的神經元構建模組連接在一起。系統的輸入和輸出數量分別決定輸入層和輸出層的神經元數量。隱藏層的數量和每個隱藏層中使用的神經元數量等設計參數是根據系統需求來確定的,如精度、速度和複雜度等。術語深度學習是指人工神經網路中的大量隱藏層,然而,不清楚有多少隱藏層構成了深度學習,但通常隱藏層的數量大於 1。

這些人工神經網路與自我調整等化器有很多緊密的聯繫。實際上,有監督訓練的人工神經網路學習與自我調整等化器中抽頭係數的訓練非常相似,其中權重 Wi 用已知的資料序列訓練並且通過最小化誤差或成本函數來優化。人工神經網路中的反向傳播演算法是一種梯度下降法,用於計算權值以最小化成本函數,就像用隨機梯度下降演算法優化自我調整等化器中的抽頭係數一樣。總而言之,熟悉自我調整等化器的工程師將能夠在人工神經網路和自我調整等化器之間找到很多相似之處。

現在我們談到最重要的問題,這將如何幫助我成為一名優秀的信號完整性(SI)工程師?

作為 SI 工程師,我們負責高速系統的信號和電源完整性。通常,這些系統涉及多個高速積體電路,其中一些具有複雜的多引腳封裝,以及具有 DIMM 連接器和背板的多層 PCB 板,需要信號完整性模擬工具來提取和驗證系統是否滿足性能和可靠性要求。

通常,我們發現自己修改複雜 PCB layout 的多個參數(走線長度、寬度、阻抗、元件位置等)、模擬、檢查結果、並重複該過程直到達到我們所要求的信號品質或眼圖要求。這個過程效率低下,當然不是最優的,特別是如果我們正在修改的參數很多、並且運行每個模擬的時間是不可忽略的。例如,如果我們只更改 PCB layout 的 4 個參數、每個參數有 35 個可能值,則需要超過 150 萬個模擬來覆蓋整個設計空間,這是不現實的。

相反,如果我們可以將 SI 模擬工具運用 ANN 程式來預測輸出、並用更少的模擬次數優化眼圖,會怎麼樣?本質上來說,使用人工神經網路可說明我們提高效率。

圖3

由 M. Kashyap、K.Keshavan 和 A. Varma 組成的團隊開發了一種深度學習演算法,並在電氣封裝和系統EPEPS 2017 大會的電氣性能環節中公佈了他們的結果。他們使用 SigritySystemSI 工具通過隨機採樣 DDR4 多點拓撲中的 6 個 PCB 輸入變數來生成資料集,如圖3 所示。每個輸入變數可以分別取 20、20、20、6、6、50 這些不同的離散值,共給出 1440 萬種不同組合的設計空間。

透過在 Sigrity SystemSI 工具中應用混合交叉相關和深度學習演算法,只需要 1000 次一級 + 595 次二級信號完整性模擬。前 1000 次模擬將設計空間從 6 個輸入減少到 4 個互相關輸入,其餘 595 個模擬資料集用於訓練、驗證和測試人工神經網路。用 395 個點來訓練人工神經網路,從而得到一個模型,該模型定義了其餘 4 個 PCB 輸入參數與輸出(眼圖性能)之間的關係。通過比較人工神經網路模型的預測輸出與實際模擬的輸出,使用 50 個驗證點來檢驗訓練完成後模型的有效性。驗證的準確性平均達到 97.4%,1σ 誤差為 1.6%。剩餘的 150 個資料點用於測試,平均準確率為 97.3%,1σ 誤差為 1.8%。通過隨機選擇一組輸入的預測輸出與使用相同輸入的實際模擬結果進行匹配,也驗證了結果。

保守估計的總訓練時間為 100 秒,150 個資料點的測試時間為 20 秒,共 120 秒或 2 分鐘。消耗時間最多的是在生成 1000 個一級資料和 595 個二級資料集時,但是這大大少於生成 1440 萬次模擬所需的時間。這個初步研究大大改進了時間和效率,僅僅犧牲了不到 3% 的準確性。更重要的是,人工神經網路為我們提供了探索和優化大型解決方案空間的機會,而使用暴力方法幾乎是不可能完成的。

總體來說,人工神經網路的應用還處於起步階段,但它們已經開始成為現實。從 SI 的角度來看,在擁有「魔法按鈕」的功能之前,我們還有很長的路要走,但是我們可以使用 Sigrity 工具提供的資訊來開發人工神經網路程式,從而說明我們探索大型設計空間。不知道您怎麼想,但我認為這是值得慶祝的,如圖 1。

譯文授權轉載出處

長按識別 QRcode,關注「Cadence 楷登 PCB 及封裝資源中心」

歡迎關注 Graser 社群,即時掌握最新技術應用資訊