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