近期,來(lái)自 Kioxia 公司的 Ravi Tangirala 做了一個(gè)主題為存儲(chǔ)控制器系統(tǒng)級(jí)硬件仿真與原型驗(yàn)證性能的演講。他是 Kioxia America 公司(前東芝存儲(chǔ),之后作為獨(dú)立公司被拆分)的驗(yàn)證總監(jiān)。
存儲(chǔ)控制器作為一種很“常見(jiàn)”的 SoC,是所有 NAND 閃存的接口。盡管近些年出現(xiàn)了 3D NAND,但從存儲(chǔ)控制器的角度而言其實(shí)沒(méi)帶來(lái)什么實(shí)質(zhì)變化。
驗(yàn)證過(guò)程的核心是綜合利用 Cadence Palladium Z1 企業(yè)級(jí)仿真平臺(tái)和 Cadence Protium X1 企業(yè)級(jí)原型驗(yàn)證平臺(tái)來(lái)實(shí)現(xiàn)硬件仿真和原型驗(yàn)證。
上方圖表展示了該團(tuán)隊(duì)的工作過(guò)程。圖中紅色線(xiàn)條逐漸上升及下降,反映的是 Palladium 在項(xiàng)目周期中的使用量變化。開(kāi)始時(shí) Palladium 的使用并不多,因?yàn)?RTL 尚未完成。隨著設(shè)計(jì)的逐步完成,Palladium 使用量也隨之上升。
藍(lán)色陰影區(qū)代表了固件開(kāi)發(fā),開(kāi)始時(shí)會(huì)使用 Palladium,當(dāng)設(shè)計(jì)足夠穩(wěn)定后就會(huì)轉(zhuǎn)用 Protium。Protium 的優(yōu)勢(shì)是具有比 Palladium 更快的軟件運(yùn)行速度;不足則是由于 FPGA 布局布線(xiàn)耗時(shí)較多,需要相對(duì)多些時(shí)間來(lái)準(zhǔn)備版本。
所以在 RTL 穩(wěn)定前,Protium 并非固件團(tuán)隊(duì)的軟件開(kāi)發(fā)人員的最佳選擇;可一旦 RTL 趨于穩(wěn)定,軟件人員就會(huì)更傾向于用 Protium 做軟件測(cè)試。
樣片回片后,軟件開(kāi)發(fā)逐漸結(jié)束,Palladium 還會(huì)被用來(lái)分析樣片測(cè)試出的遺留問(wèn)題。
Palladium 仿真
上圖展示了以 Palladium 為核心的完整驗(yàn)證環(huán)境案例,SoC 運(yùn)行在位于中心的仿真器內(nèi),左側(cè)為實(shí)際主機(jī)(訪(fǎng)問(wèn)閃存)和調(diào)試主機(jī)(訪(fǎng)問(wèn)調(diào)試端口)。右側(cè)連接 DIMMS 上的實(shí)際閃存,其容量巨大,同時(shí)對(duì)仿真速度有要求,因而不適合直接放在仿真器里實(shí)現(xiàn)。
Host PC 機(jī)通過(guò) SpeedBridge 硬件接口與 Palladium 連接,另一臺(tái)調(diào)試 PC 機(jī)與調(diào)試端口相連,而 DIMMS 上的 NAND 會(huì)直接與 Palladium 相連。
實(shí)際上,這個(gè)過(guò)程用到了 Palladium 的兩個(gè)操作模式:
TBA(Test Bench Acceleration)模式:應(yīng)用各種虛擬接口,比較適用于 RTL 早期驗(yàn)證過(guò)程。
ICE(In Circuit Emulation)模式:利用上圖中的真實(shí)物理接口,能夠達(dá)到最快的仿真速度,但不適用于對(duì)接口的直接驗(yàn)證。
Kioxia 總共部署了 6 臺(tái)服務(wù)器集群用于 Palladium 編譯。單次編譯可以在 3 小時(shí)內(nèi)完成,利用相關(guān)選項(xiàng),12 小時(shí)內(nèi)可以完成 30 次迭代。當(dāng)然,這種方法在 RTL 穩(wěn)定后才可真正發(fā)揮作用。
如上方圖示,經(jīng)過(guò)時(shí)鐘優(yōu)化,核心功能時(shí)鐘可達(dá)到 373% 的性能提升。需要注意的是,這是仿真性能提升,而非指 SoC 自身時(shí)鐘頻率。
以 Palladium 為核心搭建起來(lái)的硬件仿真環(huán)境,可以實(shí)現(xiàn)端到端測(cè)試(在 PC 主機(jī)上運(yùn)行的應(yīng)用軟件可以訪(fǎng)問(wèn)到實(shí)際的 NAND 存儲(chǔ)器)。
有了這樣的仿真平臺(tái),我們可以運(yùn)行測(cè)量 I/O 吞吐率的硬盤(pán)應(yīng)用,以及測(cè)試硬盤(pán)在最差情況的運(yùn)行等等。因?yàn)闇y(cè)試時(shí)間需要足夠長(zhǎng)才能生成精確的度量數(shù)據(jù),所以仿真平臺(tái)的整體性能就變得非常關(guān)鍵。上述以 Palladium 為核心的仿真平臺(tái)可以將 I/O 訪(fǎng)問(wèn)速率提升 9 倍,并將啟動(dòng)時(shí)間和 NAND 擦除時(shí)間縮短 5.5 倍。
Protium 原型驗(yàn)證
固件開(kāi)發(fā)可以實(shí)現(xiàn)從 Palladium 至 Protium 的無(wú)縫切換,因?yàn)閮烧咴谇岸耸褂猛瑯拥木幾g器。上圖可以看出,Protium 和 Palladium 兩個(gè)平臺(tái)幾乎完全一樣,都使用同樣的 Speedbridge 和 I/O 卡。
動(dòng)態(tài)配對(duì)組合
利用 Palladium 和 Protium 聯(lián)合使用流程,RTL 可以按照上圖所示同時(shí)編譯給兩大平臺(tái),使得客戶(hù)可以用 Palladium 實(shí)現(xiàn)高性能的硬件仿真,同時(shí)用 Protium 實(shí)現(xiàn)更高性能的固件開(kāi)發(fā)。由于 Protium 的編譯和布局布線(xiàn)需要 15-24 小時(shí),在設(shè)計(jì)足夠穩(wěn)定后,軟件開(kāi)發(fā)者利用雙平臺(tái)的流程會(huì)更加高效。比如完成操作系統(tǒng)啟動(dòng),保證軟件開(kāi)發(fā)人員能夠調(diào)試各自的代碼。
小結(jié)
Palladium 應(yīng)用在項(xiàng)目初期,在性能加快 373% 同時(shí),充分利用其強(qiáng)大的調(diào)試能力。
Protium 主要針對(duì)固件開(kāi)發(fā),仿真性能可以達(dá)到Palladium 的 4.6 倍。
可以利用 QTDB 實(shí)現(xiàn) Palladium 與 Protium 的快速無(wú)縫遷移。
原文標(biāo)題:【成功案例】如何利用 Palladium 和 Protium 進(jìn)行早期固件開(kāi)發(fā)
文章出處:【微信公眾號(hào):Cadence楷登】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177803 -
soc
+關(guān)注
關(guān)注
38文章
4161瀏覽量
218160
原文標(biāo)題:【成功案例】如何利用 Palladium 和 Protium 進(jìn)行早期固件開(kāi)發(fā)
文章出處:【微信號(hào):gh_fca7f1c2678a,微信公眾號(hào):Cadence楷登】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論