<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 從零到一 如何構建一款先進(jìn)的數字仿真器

從零到一 如何構建一款先進(jìn)的數字仿真器

—— 解碼國產(chǎn)EDA數字仿真器系列之一
作者: 時(shí)間:2023-03-22 來(lái)源:芯華章科技 收藏

(Simulator)是一種大型EDA工業(yè)軟件,是數字驗證領(lǐng)域的基礎工具之一,也是為數不多的簽核(sign-off)級工具。其實(shí)歷史上第一款 EDA 軟件SPICE,就是從仿真開(kāi)始的??梢哉f(shuō),EDA軟件從誕生之日起,就帶著(zhù)強烈的仿真基因。因此,如果沒(méi)有一款獨立自主的,實(shí)現對國外工具壟斷的打破就無(wú)從談起。

本文引用地址:http://dyxdggzs.com/article/202303/444725.htm


目前,行業(yè)主流的仿真器,諸如VCS,Xcelium, Questa等,都是國外EDA大廠(chǎng)花了數十年的時(shí)間開(kāi)發(fā)、迭代而來(lái)的。這些軟件內部設計極其復雜、代碼量巨大,單單維護的團隊人數就可達數百人甚至上千人。由此可見(jiàn),技術(shù)開(kāi)發(fā)難度之大。


合抱之木,生于毫末;九層之臺,起于累土。2021年11月,國內系統級驗證EDA解決方案提供商芯華章發(fā)布了首款數字仿真器產(chǎn)品穹鼎GalaxSim,并得到中科院半導體、芯來(lái)科技等用戶(hù)一線(xiàn)項目部署。GalaxSim在開(kāi)發(fā)過(guò)程中,結合的迫切需求,選擇了合適的技術(shù)路線(xiàn)、開(kāi)發(fā)模式,依托研發(fā)團隊的豐富EDA經(jīng)驗及高效的工作,站在更高的技術(shù)起點(diǎn)上,用幾年的時(shí)間正在追趕國外幾十年的路。


現在我們梳理實(shí)踐所得和淺見(jiàn),希望與行業(yè)同仁進(jìn)行分享交流,幫助志在推動(dòng)國內EDA數字仿真器進(jìn)步的有志之士,提供一些可能的啟發(fā)和參考,共同建立良好的EDA發(fā)展生態(tài)。


本篇我們將以穹鼎GalaxSim為例,展示一款商用級別的數字仿真器從0到1的開(kāi)發(fā)過(guò)程,包括商用仿真器的技術(shù)指標、開(kāi)發(fā)模式、技術(shù)路線(xiàn)等方面。

1. 數字仿真器的技術(shù)要求


數字仿真器在驗證中發(fā)揮著(zhù)舉足輕重的作用。判斷一款國產(chǎn)仿真器是否能真的商用,甚至可以與國際主流選擇的仿真器并駕齊驅, 一般要看它是否滿(mǎn)足以下四點(diǎn)硬性要求:

1

全面的SystemVerilog語(yǔ)法覆蓋

SystemVerilog可以說(shuō)是最復雜的語(yǔ)言之一,而數字仿真器又是EDA工具中對SystemVerilog支持最全面的工具。

2

高精度

仿真器相對其他驗證工具,是sign-off級別的,因此要求仿真器必須嚴格按照事件驅動(dòng)型的算法進(jìn)行仿真調度,符合IEEE1800等標準。

3

高性能

仿真器的性能直接決定了用戶(hù)在驗證上的成本。假如某個(gè)優(yōu)化可以使仿真速度提高2x, 那可以使原本一個(gè)月完成的回歸測試縮短到二周,從而給客戶(hù)省掉很大的驗證支出。

4

高可靠性

作為大型工業(yè)軟件,仿真器的設計極其復雜。一款大型軟件,涉及到的模塊非常多,參與的開(kāi)發(fā)者也非常多。如何確保軟件質(zhì)量可控,在客戶(hù)的超大設計上能跑幾十小時(shí),甚至幾周不出現故障,是考驗一個(gè)仿真器能否真正商用的重要指標之一。因此,作為用戶(hù)sign-off 的工具,仿真器的故障率必須極低。即使出現故障,也能在很短的時(shí)間內排查并修復。


2.開(kāi)發(fā)模式的選擇:瀑布式開(kāi)發(fā)VS敏捷開(kāi)發(fā)


圖片.png

編譯型數字仿真器的原理如上圖所示,它從verilog source到最終機器碼生成,中間經(jīng)歷了多個(gè)環(huán)節。它既具備了Compiler的特點(diǎn),同時(shí)又是一個(gè)數字電路仿真器。它集成了多種底層技術(shù),涉及編譯、算法、圖論等知識。

盡管從概念上,我們可以把這個(gè)過(guò)程分解成不同的階段,但是在實(shí)際實(shí)現上,我們其實(shí)很難單獨把某一塊抽出來(lái)。以parser/elaboration階段為例,這個(gè)階段需要把RTL的語(yǔ)法解析出來(lái)。從功能上,它和后面的階段是不同的。然而,如果把它作為一個(gè)模塊獨立開(kāi)發(fā),就會(huì )面臨無(wú)法測試的困難。因為有些elaboration的結果,需要到了runtime階段才可能測出是否正確。

軟件開(kāi)發(fā)有兩種模式,一種是傳統的瀑布式模式,把一個(gè)軟件劃分成若干模塊。每個(gè)模塊都定義好spec,然后分配給各個(gè)團隊開(kāi)發(fā);到了一定節點(diǎn),再進(jìn)行聯(lián)調。另一種是敏捷開(kāi)發(fā),就是快速將flow打通,進(jìn)行不停地迭代,就像生物界胚胎的成長(cháng)一樣,逐步將軟件迭代成熟。

圖片.png

上圖給出了兩種不同模式的區別。由于Simulator涉及到的環(huán)節非常多,有很多任務(wù)是有依賴(lài)關(guān)系的,只能串行開(kāi)展。如果按照傳統的模式,不僅完成所有任務(wù)的總時(shí)間會(huì )變得很長(cháng),它還會(huì )導致最后聯(lián)調的時(shí)間非常的不確定。因為很多模塊的耦合性很強,很多問(wèn)題需要等到最后所有模塊放在一起后才能發(fā)現。

基于此,為了降低研發(fā)風(fēng)險,提高開(kāi)發(fā)效率,GalaxSim的開(kāi)發(fā)采用了敏捷開(kāi)發(fā)模式。在敏捷開(kāi)發(fā)模式下,每個(gè)任務(wù)可以不用一步到位,而是可以先做一個(gè)比較初級的版本,從v1開(kāi)始進(jìn)行迭代,直到vN。完成每個(gè)迭代的時(shí)間,是大大短于完成整個(gè)任務(wù)的時(shí)間的。這樣,依賴(lài)于該任務(wù)的其他任務(wù)就可以提前開(kāi)展了。聯(lián)調階段的不確定也會(huì )大大降低,因為很多問(wèn)題都可以在前期階段暴露出來(lái)。通過(guò)敏捷開(kāi)發(fā),芯華章的GalaxSim可以更合理地調配資源,并通過(guò)大量迭代,使得產(chǎn)品能達到商用要求。

3. 技術(shù)路線(xiàn)的選擇:守正、創(chuàng )新


從0到1,開(kāi)發(fā)一款具備國產(chǎn)自主知識產(chǎn)權的仿真器,肯定不能僅僅做一個(gè)me too的產(chǎn)品,需要有創(chuàng )新、超越。我們面臨的問(wèn)題是,做一個(gè)怎樣的仿真器,能在解決國產(chǎn)替代的基礎上,實(shí)現最終的超越?這里面既要守正,也要創(chuàng )新。

何謂守正?創(chuàng )新的前提首先要先解決有無(wú)的問(wèn)題。上文提到,不管采用什么技術(shù),仿真器都必須滿(mǎn)足四個(gè)指標:SystemVerilog、精度、性能、可靠性。因此,任何研發(fā)路線(xiàn)與技術(shù)的選擇,都必須滿(mǎn)足以上4個(gè)約束條件。

與此同時(shí),我們吸取主流數字仿真器的歷史研發(fā)教訓,針對國內使用環(huán)境進(jìn)行客制化創(chuàng )新。比如在SystemVerilog方面,很多主流仿真器的支持其實(shí)并不是一步到位完成的,而是在一系列并購后集成進(jìn)來(lái)的。GalaxSim在這方面,可以發(fā)揮后發(fā)優(yōu)勢,采用全新的設計框架,更好實(shí)現SystemVerilog的豐富語(yǔ)法,讓整個(gè)compile flow無(wú)縫對接,避免不斷“打補丁”帶來(lái)的技術(shù)冗余與滯澀,提供更完整、一體化的驗證解決方案。

以性能為例,runtime是仿真器的一項重要技術(shù)指標。大多數國際主流仿真器在過(guò)去數十年都做了大量的工作。然而,compile time 也是性能的一部分。近5-10年,隨著(zhù)設計規模越來(lái)越大,compile time 也日益成為性能瓶頸。而且,compile time 和 run time常常是矛盾的。GalaxSim使用創(chuàng )新底層架構,在提高runtime性能的同時(shí),兼顧了compile time的控制。

4. “蝶變”:GalaxSim的迭代歷程


敏捷開(kāi)發(fā)意味著(zhù)快速的軟件迭代。GalaxSim 的迭代歷程,比較類(lèi)似于一個(gè)胚胎的成長(cháng)過(guò)程。胚胎每一步的變化并不大(比如細胞分裂),然而,經(jīng)過(guò)足夠的變化,最終就會(huì )由量變到質(zhì)變,就像蝶變一樣。

如何確保GalaxSim的迭代是按照我們設計的方向,而不會(huì )走偏呢?這里面,軟件的迭代又非常像生物的進(jìn)化,我們需要設計好一個(gè)目標(生存條件),以及一個(gè)進(jìn)化環(huán)境。根據前文所述,GalaxSim從0到1的第一階段目標,是要演變成一個(gè)至少滿(mǎn)足4個(gè)約束條件的仿真器。

4.1

以終為始,設計迭代目標

第一階段我們會(huì )以終為始,根據上文提到的四點(diǎn)對仿真器的硬性要求,分別制定多維度可量化的迭代目標,通過(guò)不斷的調試達成各項指標。

4.2

進(jìn)化環(huán)境的搭建

如何確保軟件向著(zhù)我們設置的目標進(jìn)化,而不是走偏,進(jìn)化環(huán)境至關(guān)重要。芯華章的研發(fā)團隊為此專(zhuān)門(mén)搭建了一套內部CICD flow, 包含了回歸測試系統,這個(gè)系統包含了大量的測試用例,各種測試基準(benchmark)。GalaxSim在這些用例中的表現結果會(huì )被實(shí)時(shí)監控。尤其是性能方面,我們的系統引入了類(lèi)似銀行的記賬功能。每個(gè)研發(fā)環(huán)節導致的slowdown都會(huì )被記錄備案,每一筆帳都可以追溯。這些嚴苛的環(huán)境,確保了軟件最終的性能及質(zhì)量。

值得一提的是,這套系統是我們在第一天就開(kāi)始著(zhù)手搭建的,與GalaxSim的核心代碼是同步開(kāi)發(fā)的。

4.3

Galaxsim的主要迭代節點(diǎn):

圖片.png

5. 現狀:已獲得一線(xiàn)項目部署


目前GalaxSim已經(jīng)在中科院半導體所、芯來(lái)科技等若干客戶(hù)的一線(xiàn)項目中得到應用,性能符合客戶(hù)預期。

6. 總結


在未來(lái),GalaxSim的進(jìn)化還會(huì )繼續,并擁抱更多的創(chuàng )新,最終實(shí)現國產(chǎn)數字仿真器的超越。

接下來(lái),我們將結合GalaxSim的具體性能表現、技術(shù)指標以及對數字仿真器主流技術(shù)趨勢的分析,繼續探討一款高性能、高精度的數字仿真器應該具備哪些技術(shù)特征。后續系列文章請大家關(guān)注、指導。

獨木不成林,我們也期待行業(yè)的各位有志同仁,參與我們的討論,一起暢談國產(chǎn)數字仿真器發(fā)展之路。每一個(gè)寶貴的意見(jiàn),我們都將認真對待!

作者:齊正華
芯華章科技研發(fā)副總裁




關(guān)鍵詞: 國產(chǎn)EDA 數字仿真器

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>