EDA如何實現(xiàn)并行化?如何邁向更好的應(yīng)用方向?
EDA的出現(xiàn)和發(fā)展與半導(dǎo)體技術(shù)的發(fā)展密切相關(guān)。20世紀(jì)50年代,隨著半導(dǎo)體技術(shù)的發(fā)展,電路設(shè)計變得越來越復(fù)雜,手工設(shè)計已經(jīng)無法滿足設(shè)計需求。在20世紀(jì)60年代初期,計算機開始被用于電路設(shè)計中。最初的電路設(shè)計軟件是由電子工程師們自己編寫的,這些軟件主要用于計算電路元件的參數(shù)和特性。20世紀(jì)70年代,EDA開始成為一個獨立的領(lǐng)域,電路設(shè)計軟件開始向通用化和自動化的方向發(fā)展。20世紀(jì)80年代,EDA技術(shù)得到了迅速的發(fā)展,出現(xiàn)了許多EDA軟件,如原理圖編輯器、布局編輯器、模擬器、綜合器、靜態(tài)和動態(tài)時序分析器等。20世紀(jì)90年代,EDA技術(shù)進一步發(fā)展,出現(xiàn)了更加高級的EDA工具和技術(shù),如高級綜合、邏輯合成、形式驗證、物理設(shè)計自動化等。
在IC設(shè)計中,并行化指的是利用并行處理技術(shù)來加速設(shè)計過程的方法。具體來說,IC設(shè)計的并行化可以通過以下幾種方式實現(xiàn):數(shù)據(jù)并行,將不同的數(shù)據(jù)處理任務(wù)分配給不同的處理單元或線程,同時進行處理。這種方式可以利用多核CPU或多線程處理器的優(yōu)勢,提高整體數(shù)據(jù)處理效率??刂撇⑿?,在IC設(shè)計中,控制并行指的是利用不同的控制信號并行控制不同的處理單元或線程,以加速數(shù)據(jù)處理過程。數(shù)據(jù)流并行,將設(shè)計中的各個階段進行并行處理,盡可能減少串行步驟,從而縮短整個設(shè)計流程的時間。例如,在數(shù)字前端設(shè)計流程中,可以將綜合、布局和布線等步驟進行并行處理,以加快整體設(shè)計速度。并行仿真和驗證,在設(shè)計和測試階段,可以利用多線程、多進程等技術(shù)將仿真和驗證過程并行化,從而減少整體測試時間。
在過去的幾年中,諸如“多線程”,“多處理”和由此衍生出的市場術(shù)語等術(shù)語已開始作為現(xiàn)有電子設(shè)計自動化(EDA)軟件的功能出現(xiàn)。同時,廉價的計算資源的可用性(最好地體現(xiàn)在當(dāng)今可用的多核中央處理器(CPU)中)可以提供一種經(jīng)濟有效的方式來減少EDA軟件的運行時間。
物理設(shè)計和物理驗證軟件是需要此類技術(shù)的計算密集型EDA應(yīng)用程序的示例。一個示例是典型的蒙版,其中可能包含數(shù)十億個物理幾何形狀。必須創(chuàng)建掩模布局中的每個幾何圖形,設(shè)計自定義庫,然后放置和布線,并將其組裝成完整的芯片。每種幾何形狀都必須經(jīng)過驗證,以符合鑄造廠的制造要求,同時還要面對越來越多的復(fù)雜設(shè)計規(guī)則。對于現(xiàn)代設(shè)計,單CPU運行時間很容易超過數(shù)百小時。顯然需要并行處理。
EDA(電子設(shè)計自動化)的并行化可以通過以下幾種方式實現(xiàn):
1.進程語句:EDA語言中最具特色的語句是進程語句,它提供了一種用算法描述硬件行為的方法。進程語句可以并行執(zhí)行,因為它們是相互獨立的,可以在不同的CPU核心上同時運行。
2.并行信號賦值語句:在EDA語言中,信號賦值語句也可以并行執(zhí)行。這是因為這些語句的功能是同時對多個信號進行賦值操作,而這些操作可以同時執(zhí)行。
3.元件例化語句:元件例化語句可以在不同的CPU核心上同時運行,實現(xiàn)并行化處理。
4.生成語句:生成語句可以在不同的CPU核心上同時運行,實現(xiàn)并行化處理。這是因為生成語句的功能是根據(jù)一組條件生成一組操作,而這些操作可以同時執(zhí)行。
隨著多核CPU的普及,使用并行化EDA工具可以顯著縮短設(shè)計時間。例如,在芯片物理設(shè)計和物理驗證階段,需要進行大量的計算和模擬,使用并行化EDA工具可以大大加快這些過程。此外,在數(shù)字前端設(shè)計流程中,可以將綜合、布局和布線等步驟進行并行處理,以加快整體設(shè)計速度。使用并行化EDA工具可以提高設(shè)計效率和質(zhì)量,縮短設(shè)計周期。