實現自主可控的芯片設計已經成為我國社會和行業發展的熱點,而伴隨著對芯片功能性和穩定性與日俱增的要求,芯片設計也變得越來越復雜,如何快速和便捷地進行設計空間的探索也變得越來越具有挑戰性!
今天我們有幸邀請到來自上海交通大學信息工程專業的盧凌峰和李江川兩位同學,來分享他們在參與 MATLAB 學生創新項目(MathWorks Excellence in Innovation Projects)時是如何利用深度學習來加速鎖相環設計的。GitHub 上也有他們分享的代碼和數據,可以下載哦:https://github.com/lulf0020/Behavior-modeling-of-PLL
同時,如果是對芯片設計這個話題感興趣,也可以參加我們 11 月 22/24 日晚上 7-8 點的小邁步之 MATLAB助力芯片設計系列講座!作為入門級講座,我們會使用豐富的實際操作案例來介紹如何在各領域使用 MATLAB 與 Simulink 實現芯片設計應用,歡迎來聽!
以下是他們的分享——
鎖相環(Phase Lock Loop, PLL)被稱為芯片的“心臟”!它利用外部晶
振作為參考時鐘,通過閉環控制輸出一個穩定的更高頻率的時鐘,以供芯片的時序電路使用。心臟的正常跳動很大程度上決定著一個人能否健康地生活,而設計一個穩定的 PLL 則成為保障一個芯片能正常運行的重要前提!
2021 年,我們選修了楊宇紅老師主講的校企合作課程《工程實踐與科技創新》,作為課程的一部分,我們需要在課程期間完成一個實踐項目。MathWorks 的學生創新項目是由其在全球一線工程師們結合當前行業需求和最新技術發展趨勢所確立的一些研究和實踐課題,涉及 5G、大數據、工業 4.0、人工智能、自動駕駛、機器人、無人機、計算機視覺、可持續發展及可再生能源等各個領域。我們決定在其中選擇一個項目并在 3 個月之內完成。
為什么選擇“基于深度學習技術進行鎖相環行為級建模” 項目?
這個項目的實用性以及新穎性吸引了我們!對鎖相環進行行為級建模,可以節省設計過程中的時間成本。具體來說,通過深度學習建立鎖相環的行為級模型之后,我們可以輸入器件參數直接得到鎖相環的性能表現,而不需要經過冗長的仿真測試環節。
另外,在選擇這個項目之前,我們曾經在學校的機器學習課程中接觸過神經網絡的基礎知識,也曾在暑期實習過程中,對很多的神經網絡進行了調研,并實戰過利用 YOLO 算法來做目標識別。一定的知識儲備使得我們更加有底氣選擇這個項目。
在項目中遇到什么問題?是如何解決的?
數據集和模型是開展深度學習的兩個關鍵因素。在這個項目中,我們遇到的兩個主要問題包括數據集的收集和模型建立:
問題一:如何高效的收集數據集?
問題二:怎樣建立有效的深度學習模型?
下面就給大家詳細介紹一下我們是如何解決這兩個問題的。
問題一:如何高效的收集數據集?
在這個項目中,沒有現成的數據集可供我們使用。項目開始前,MathWorks出題工程師 Pragati Tiwary 對于題目細節給我們做了深入地解釋。他告訴我們 MATLAB 的混合信號工具箱(Mixed-Signal Blockset)里所提供的N分頻鎖相環參考模型給我們提供了一種可以通過仿真來建立數據集的手段。
該模型(如下圖示)包含了五個模塊:鑒相器,電荷泵,環路濾波器,壓控振蕩器和分頻器。我們需要做的是不斷改變這五個模塊的參數,看看會對鎖相環輸出信號的頻率、鎖定時間以及相位噪聲產生什么樣的影響。
圖一 N 分頻鎖相環參考模型
混合信號工具箱除了提供參考模型,還提供了測試平臺。利用這個平臺,我們可以便捷地對各種不同參數下的鎖相環模型的輸出信號進行監測,記錄下所需要的輸出結果。
項目初期,我們遇到的主要問題是數據集的收集效率低下。為了獲得一組數據,我們每次都需要手動更改模型各個模塊的參數設置,再對進行一次仿真測試,最后需要手動記錄測試平臺的輸出結果,十分費時。
這時,Pragati 給我們提供了耐心的指導,他告訴我們如何對鎖相環模型進行批量的數據導入、仿真以及數據導出。在他的幫助下,我們將 Simulink 與 MATLAB 配合使用,由 MATLAB 程序調整模型參數并控制 Simulink 模型進行批量的仿真和測試。我們將模型中需要測試的參數設置為變量,這樣就可以通過更改變量值的方式來更改仿真模型的參數值。
但是,我們隨后發現一些涉及到模型結構的參數,比如環路濾波器的階數,是無法簡單地通過改變變量值的方式來進行修改的。正當我們一籌莫展時,卻驚喜地發現鎖相環中通常所采用的二階,三階和四階環路濾波器的電路形式具有相似性。于是,我們統一采用了四階環路濾波電路的模型,只是在設置參數時,通過將對應的電容、電阻設為0,來模擬斷路和短路,以實現更低階數的環路濾波器。至此,我們實現了仿真模型參數的快速更改。
圖二 二階、三階和四階環路濾波器(從左到右)
對輸出結果,我們也希望能夠像仿真模型的參數一樣,實現通過程序自動記錄。但我們經過測試后發現,測試平臺的最終輸出結果無法導出,而只能導出中間結果。于是我們只好自動導出中間結果,再根據相應輸出結果的計算方法,通過中間結果求解出我們所需要的最終結果。
最終,我們建立起了 MATLAB 和 Simulink 配合仿真和測試的全流程:通過生成在一定范圍內的隨機數,對仿真模型的參數值進行更改;使用MATLAB的控制指令進行模型的仿真和測試,Simulink會在仿真結束后將記錄的中間結果回傳到 MATLAB,最后根據回傳的中間結果計算我們關注的輸出結果并記錄。在設定了程序執行的循環次數后,就能夠實現無監管下的數據收集工作,在一定程度上提高了數據集的建立效率。
問題二:怎樣建立有效的深度學習模型?
深度學習一般被用于復雜信息的特征提取以及預測量的回歸或擬合標定。譬如在卷積神經網絡模型設計中就包含較多的卷積層和池化層等用于圖片特征信息的提取。而在我們的項目中,實際需要的特征值大多已經在項目信息中給出。
通過實驗,我們發現僅兩層的前饋式神經網絡就可以較好地實現對輸入參數到輸出參數映射關系的建模,于是我們采用了神經網絡中結構較簡單的前饋式神經網絡。
MATLAB 提供了一個深度學習工具箱,你可以從零開始構建想要的神經網絡模型,也可以在工具箱所提供的參考神經網絡模型上進行修改。該工具箱可以從 TensorFlow 和 Caffe 導入模型,并支持對 DarkNet-53、ResNet-50、NASNet、SqueezeNet 等較為熱門的預訓練模型進行遷移學習。
我們要給大家安利的是深度學習工具箱里所提供的 Neural Network Fitting APP。這個APP提供了如下圖所示的神經元節點數可選的兩層前饋式神經網絡。這個神經網絡以經典的非線性激活函數sigmoid作為隱藏層神經元的激活函數,而在輸出層則采用了線性的輸出函數;以均方差值(MSE)作為訓練指標,并且可以對訓練的結果進行回歸度分析。在這個 APP 的基礎上,通過人為地對訓練數據、測試數據以及訓練完成的模型進行一些數據處理,就大致滿足了我們的需求。
圖三 Neural Network Fitting APP
不得不提的是,我們建立的模型一開始的擬合效果并不好,于是我們嘗試了數據預處理、增加神經節點、調整各個數據集的比例等方式,最后得到了一個還不錯的擬合效果。
在前饋式神經網絡這一模型主體上,一個良好的數據預處理形式可以使得整體神經網絡具有更好的擬合效果。對于數量級相差較大的數據,我們使用對數函數輔助進行歸一化,使得其數據分布盡可能實現均勻且有區分度,不會有過多的差異數據聚集在數據軸上的幾個點附近而導致欠擬合或過擬合。
在模型訓練過程中,數據集會被劃分為訓練集、測試集和驗證集三個部分。其中,訓練集和測試集會用于模型的訓練過程,而驗證集主要用于模型最終性能的評估。在訓練過程中,我們注意到,僅僅保證訓練集和測試集占總體數據集大小的比例是不夠的,測試集最好具有一定的絕對數量,否則其反映出來的模型擬合程度可能無法反應出模型實際的擬合程度。在這個項目中,大約需要 >200 個樣本的測試集才能保證其用于訓練的模型擬合程度數據較為可靠,使模型訓練進程能有效推進下去。
結語:努力學習 + 勇敢嘗試 = 成功
時光荏苒,現在我們一個已經在上海三菱電梯工作,一個正在備戰考研,但這段跨時差跨語言的項目經歷是很難忘的。我們最大的收獲不僅是通過項目實踐鞏固了所學的知識、體會到創新的重要性,還通過和 MathWorks 的工程師在線上用英語溝通和交流開闊了眼界和提高了膽量。在此,非常感謝 MATLAB 學生創新項目給我們提供了實踐的機會,感謝《工程實踐與科技創新》課程的主講老師楊宇紅老師與 MathWorks 的 Pragati Tiwary 及許悅伊博士給我們提供的幫助和指導!
P.S.:盧凌峰和李江川兩位同學參加的 Behavior Modeling of PLL 是 MathWorks 為同學們提供的二百余個 MATLAB 學生創新項目(Excellence in Innovation Projects)項目之一。
最后,如果是對芯片設計這個話題感興趣,也可以參加我們 11 月 22/24 日晚上 7-8 點的小邁步之 MATLAB助力芯片設計系列講座!作為入門級講座,我們會使用豐富的實際操作案例來介紹如何在各領域使用 MATLAB 與 Simulink 實現芯片設計應用,歡迎來聽!
審核編輯:湯梓紅
-
matlab
+關注
關注
185文章
2979瀏覽量
230662 -
芯片設計
+關注
關注
15文章
1023瀏覽量
54937 -
深度學習
+關注
關注
73文章
5507瀏覽量
121299
原文標題:“AI+”學生項目分享 | 利用深度學習加速芯片設計
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論