綜合(Synthesis)是芯片設(shè)計(jì)過程中非常關(guān)鍵的一步,它主要作用是將高級(jí)描述的電路設(shè)計(jì)轉(zhuǎn)化為實(shí)際的、可制造的門級(jí)電路。具體而言,綜合階段的主要任務(wù)是將硬件描述語言(如Verilog或VHDL)編寫的電路模型,轉(zhuǎn)換成由標(biāo)準(zhǔn)單元(Standard Cell)構(gòu)成的電路圖。這一過程的復(fù)雜性和精確度直接決定了芯片設(shè)計(jì)的可行性和性能。
1. 綜合的基本概念
可以將綜合過程類比為將一個(gè)抽象的設(shè)計(jì)圖轉(zhuǎn)化為現(xiàn)實(shí)中的具體建筑。假設(shè)我們有一份建筑藍(lán)圖,它用的是非常簡(jiǎn)化的語言來描述建筑的結(jié)構(gòu)和功能。綜合的任務(wù)就是把這個(gè)藍(lán)圖細(xì)化成具體的建筑結(jié)構(gòu),確定每個(gè)部分的材料和位置,確保各個(gè)部分能夠真實(shí)存在,并且符合建筑規(guī)范。
在芯片設(shè)計(jì)中,原始的設(shè)計(jì)描述通常以Verilog或VHDL等硬件描述語言表示,包含了電路的功能、時(shí)序、輸入輸出等邏輯,但它并沒有涉及到具體的硬件實(shí)現(xiàn)細(xì)節(jié),如電路中每個(gè)門(例如與門、或門等)的位置以及它們的連線方式。綜合的過程就是將這些描述翻譯成可以實(shí)際制造的門級(jí)電路。
2. 綜合過程的核心任務(wù)
綜合的過程可以分為幾個(gè)關(guān)鍵任務(wù):
邏輯優(yōu)化:將高層次的設(shè)計(jì)邏輯轉(zhuǎn)換成門級(jí)電路時(shí),需要進(jìn)行優(yōu)化。優(yōu)化的目標(biāo)是減少資源消耗、提高性能并滿足功耗要求。例如,通過合并多個(gè)邏輯門,減少電路的規(guī)模和復(fù)雜度,達(dá)到更高的效率。
時(shí)序優(yōu)化:確保電路設(shè)計(jì)能夠滿足時(shí)序要求,即信號(hào)在時(shí)鐘周期內(nèi)能夠正確傳輸。為了保證芯片的高速運(yùn)行,時(shí)序優(yōu)化尤為重要,常見的優(yōu)化方法包括調(diào)整門延遲、調(diào)整時(shí)鐘分配等。
面積優(yōu)化:在綜合過程中,還需要考慮芯片面積的優(yōu)化。電路的面積直接影響芯片的成本和功耗。通過合理選擇標(biāo)準(zhǔn)單元和布局,使得電路設(shè)計(jì)在保持功能和性能的同時(shí),盡量減小芯片面積。
功能實(shí)現(xiàn):通過標(biāo)準(zhǔn)單元庫將原來的電路描述(如Verilog代碼)轉(zhuǎn)化為具體的邏輯門(如與門、或門等),并根據(jù)電路的需求選擇合適的門電路實(shí)現(xiàn)。標(biāo)準(zhǔn)單元庫中的每個(gè)單元都是設(shè)計(jì)好并驗(yàn)證過的電路塊,確保了設(shè)計(jì)的可實(shí)現(xiàn)性和可靠性。
3. 綜合的輸出
經(jīng)過綜合處理后,設(shè)計(jì)將產(chǎn)生門級(jí)網(wǎng)表(Netlist),這是一種描述了電路各個(gè)單元(如邏輯門)以及它們之間連接關(guān)系的結(jié)構(gòu)。網(wǎng)表類似于一個(gè)電路的詳細(xì)“說明書”,它包含了所有的邏輯單元及它們?nèi)绾蜗嗷ミB接的信息,但并不包含具體的布局和布線信息。
此時(shí),設(shè)計(jì)仍然缺乏實(shí)際的物理實(shí)現(xiàn),接下來會(huì)進(jìn)入布局布線(Place and Route)階段,在該階段中,綜合生成的網(wǎng)表將被轉(zhuǎn)化為具體的物理位置和連線。
4. 綜合與驗(yàn)證
在綜合過程中,設(shè)計(jì)工程師和驗(yàn)證工程師需要密切合作。因?yàn)榫C合不僅需要將電路邏輯轉(zhuǎn)化為物理電路,還需要確保綜合后的電路仍然滿足原始設(shè)計(jì)的功能需求和時(shí)序要求。因此,在每一步優(yōu)化過程中,驗(yàn)證工程師需要進(jìn)行及時(shí)的功能驗(yàn)證,確保優(yōu)化后的設(shè)計(jì)沒有引入新的錯(cuò)誤。
5. 綜合工具與流程
在實(shí)際設(shè)計(jì)中,綜合的過程通常由專門的工具來完成,例如Synopsys Design Compiler、Cadence Genus等。這些工具可以根據(jù)設(shè)計(jì)目標(biāo)自動(dòng)執(zhí)行優(yōu)化過程,并生成門級(jí)網(wǎng)表。使用這些工具時(shí),設(shè)計(jì)師通常會(huì)提供一些設(shè)計(jì)約束,如時(shí)序要求、功耗限制和面積限制等,以引導(dǎo)綜合工具進(jìn)行優(yōu)化。
綜合(Synthesis)是將高級(jí)設(shè)計(jì)描述轉(zhuǎn)化為門級(jí)電路的過程,是從抽象到具體的橋梁。在這一過程中,設(shè)計(jì)師需要優(yōu)化邏輯、時(shí)序和面積,以確保芯片在性能、功耗和面積等方面達(dá)到預(yù)期要求。綜合的輸出是門級(jí)網(wǎng)表,它將作為后續(xù)布局布線的基礎(chǔ)。在綜合過程中,功能驗(yàn)證和時(shí)序分析是至關(guān)重要的,以確保最終設(shè)計(jì)的正確性和穩(wěn)定性。
歡迎加入讀者交流群,備注姓名+公司+崗位。