Intel Simics Simulator
如果有多看兩眼我的網站,會發現我寫了好幾篇模擬器相關的文章,包含 EmulationPkg 介紹 還有 OVMF/QEMU 相關的介紹,這是因為我在很長的時間中都是做 Client platforms,必須忍受各個 ODM 那五花八門的土炮環境下的 debug 環境,再加上 ROM 越來越大顆,燒個 ROM 要等好久 …
神器 Simics
雖然不是第一次聽過 Simics,但直到我進入了 I 公司才有機會真的摸到它,這才驚訝於它的強大。不過在公開的環境我們只好只談論可以公開的訊息,萬幸還是有機會可以拿一些東西介紹給大家看看。
本文撰寫於 2024/07/12
使用 RDC#673042 於 9/8/2023 的公開版本進行介紹
根據網頁 Intel® Simics® Simulator Public Release 的說明,這真的是一個超級強大的虛擬機,以我們 BIOS 工程師的角度來看就是沒有板子就可以模擬 SOCs,也就是說你的 BIOS 包含 RC code都可以直接跑在上面,這不就是我們這行的神器嗎????
The Intel® Simics® simulator is part of the Intel® Integrated Simulation Infrastructure with Modeling (Intel ISIM). The Intel Simics Simulator and Intel Simics Virtual Platforms have a long history in industry and academia. They are used extensively for pre-silicon and post-silicon software development, testing, and system integration at Intel and by Intel’s customers and partners. The public release provides the Intel Simics simulator for free to the broader community. In addition to the functional simulation powered by Intel Simics simulation technology, it includes interfaces to performance, power, and thermal modeling from the Intel Integrated Simulation Infrastructure with Modeling (Intel® ISIM).
雖然說這個公開版本沒有包含 SOCs 相關的模擬,但我們還是可以拿來玩玩看,本文就是要來介紹怎麼玩。
下載安裝 Simics 的相關檔案
進入 Intel® Simics® Simulator Public Release 會看到一個按鈕如下
點一下它之後跳到另一個網站並出現 SOFTWARE TOOLS LICENCE AGREEMENT 需要將 I accept the software license agreement and would like to register the entitlement.
打勾,然後才可以按 Continue to download
繼續下載。
本文撰寫於 2024/07/12
使用 2024.25, Build Date: 07/09/2024 的公開版本進行介紹
此時我們可以看到新的網頁會有版本 Windows 與 Linux 的版本可供下載,請按照你的 OS 環境進行下載
如果可能,請使用 Linux 與 Ubuntu 作為使用環境。 Windows 下的限制頗多而且效能較差。
安裝方式兩者並無明顯不同,以下會使用 Windows 做介紹
請注意,不管選擇哪種OS版本,一共有兩個檔案要下載,例如 Windows 版本必須下載一個副檔名為 .exe
的檔案以及 .ispm
的檔案。
第一個執行檔是 Intel Simics Package Manager,我們下面簡稱它為 ISPM
,而 .ispm 檔案包含著許多 Simics package 的檔案,我們需要這些 packages 來使用 Simics。
安裝 ISPM
安裝 ISPM 並沒有什麼特殊的,就閉著眼睛一直按下一步即可。安裝完會詢問是否直接開啟 ISPM,請直接開啟即可。
使用 ISPM 來安裝 Simics Packages
ISPM 是用來管理 Simics Package 的軟體,我們可以透過他去了解目前 Simics Package 的狀態還有建立專案,可以說所有的一切都從這裡開始。
我們按照上圖的數字順序點選後,最後我們會按下 Browser for Bundle 的按鈕,這時候我們選擇上個步驟下載的 .ipsm
檔案,然後按下 Create Project 後根據你的需要選擇直接 Create Project 或是指定要 Create Project 在哪裡。
按下 Create Project 後會顯示哪些 Package 會安裝到系統上,沒有疑問的話就按下 Proceed 繼續。
安裝中
安裝完成後,會自己切換到 Project 頁面
- 編號 3 這邊可以修改 Project 的名稱或是描述的地方
- 編號 4 這邊可以進入 terminal 視窗,後面會再補充解釋用途
- 編號 5 可以閱讀 Simics 的 Documents
- 編號 6 可以刪除專案
編號 7 是預設好給你看的 Demo,而到了這邊就安裝結束了,是不是很容易?
Demo
按下 Launch Demo 按鈕後,會跳出好幾個視窗,讓我們先觀察一下下面這個視窗
這邊顯示了目前要模擬的板子的基本資訊,我們直接按下啟動鈕(編號1)吧。
我們可以看到啟動後沒多久就出現了一個疑似 BIOS 開機畫面的視窗如下
然後再等一下子,系統居然就直接進入了一個疑似 Linux 的 OS,也就是說它也可以正常的進入OS。
我們可以按下停止來暫停 Simics
然後回到開出來的 Simics Command Line 輸入 quit
來離開 Simics
到這邊就算是完成 Demo 了。那麼你會問說這樣能做什麼呢? 是的沒錯,因為這個是公開版本,對實際在開發 BIOS 的人沒有太直接的用途,但如果你的公司有跟 I 公司在做案子,其實是有機會拿到全功能版本的喔。
但也不是說這個東西對我們就沒有用,因為在這個東西上面跑的 UEFI BIOS code 其實是有公開的。下一篇文章就要來介紹該怎麼自己 Build 出一個 BIOS 在上面跑。