本教程經(jīng)常有提及綜合這個詞語。 或者說有些邏輯不能綜合成實(shí)際電路,或者說有些邏輯設(shè)計綜合后的電路會有一些安全隱患。 本章就簡單介紹下邏輯綜合的相關(guān)知識,僅從理論層次和普遍認(rèn)知的角度來闡述。 待那個懵懂求知少年變成中年禿頂大叔,再來介紹邏輯綜合的具體實(shí)踐。 好像也沒有多少時日了(手動狗頭)。
基本概念
綜合,就是在標(biāo)準(zhǔn)單元庫和特定的設(shè)計約束基礎(chǔ)上,把數(shù)字設(shè)計的高層次描述轉(zhuǎn)換為優(yōu)化的門級網(wǎng)表的過程。 標(biāo)準(zhǔn)單元庫對應(yīng)工藝庫,可以包含簡單的與門、非門等基本邏輯門單元,也可以包含特殊的宏單元,例如乘法器、特殊的時鐘觸發(fā)器等。 設(shè)計約束一般包括時序、負(fù)載、面積、功耗等方面的約束。
無論是數(shù)字芯片設(shè)計,還是 FPGA 開發(fā),現(xiàn)在綜合過程基本都是借用計算機(jī)輔助邏輯綜合工具,自動的將高層次描述轉(zhuǎn)換為邏輯門電路。 設(shè)計人員可以將精力集中在系統(tǒng)結(jié)構(gòu)方案、高層次描述、設(shè)計約束和標(biāo)準(zhǔn)工藝庫等方面,而不用去關(guān)心高層次的描述怎么轉(zhuǎn)換為門級電路。 綜合工具在內(nèi)部反復(fù)進(jìn)行邏輯轉(zhuǎn)換、優(yōu)化,最終生成最優(yōu)的門級電路。 該過程如下所示。
結(jié)構(gòu)解釋
簡單的賦值語句通常被綜合為基本的邏輯門單元
assign F = (A & B) | C ;
上述代碼通常會被綜合為如下門級電路:
條件語句通常被綜合為選擇器
assign F = sel ? A : B ;
上述代碼通常會被綜合為如下門級電路:
always 塊中時鐘觸發(fā)的賦值語句通常被綜合為觸發(fā)器
always @(posedge clk) begin
q <= d ;
end
上述代碼通常會被綜合為如下電路:
再復(fù)雜的設(shè)計,綜合之后,都會被轉(zhuǎn)換為由各種單元庫原件組成的門級網(wǎng)表。 總之,邏輯綜合可以狹隘的理解為,將 Verilog 設(shè)計轉(zhuǎn)換為用優(yōu)化的基本邏輯門單元、特殊的宏單元表示的過程。
綜合流程
從高層次 RTL 描述到門級網(wǎng)表的詳細(xì)綜合過程如下圖所示。
RTL 描述
用硬件描述語言(例如 Verilog)設(shè)計數(shù)字電路,并進(jìn)行仿真保證邏輯功能的正確性。
翻譯
RTL 描述會被綜合工具轉(zhuǎn)換為一個未經(jīng)優(yōu)化的中間表示。 該過程讀入 Verilog 描述的基本原語和操作,不考慮面積、時序、功耗等設(shè)計約束,僅完成簡單的內(nèi)部資源分配。
未優(yōu)化的中間表示
翻譯過程中產(chǎn)生的中間表示,數(shù)據(jù)格式由綜合工具內(nèi)部識別,用戶無法也無需了解。
邏輯優(yōu)化
優(yōu)化設(shè)計邏輯,刪除冗余邏輯。 該過程往往會將 RTL 設(shè)計的一些變量刪除,或重新命名,邏輯實(shí)現(xiàn)過程往往也會改變,以達(dá)到邏輯的最優(yōu)化實(shí)現(xiàn)。 該過程會產(chǎn)生優(yōu)化的內(nèi)部表示。
工藝映射和優(yōu)化
此步驟之前,設(shè)計的描述過程是獨(dú)立于目標(biāo)工藝的。 該步驟中,綜合工具將使用工藝庫(標(biāo)準(zhǔn)單元庫)中提供的邏輯單元,實(shí)現(xiàn)設(shè)計的內(nèi)部表示。 即設(shè)計會被映射到目標(biāo)工藝。 實(shí)現(xiàn)過程中,還必須滿足時序、面積和功耗的約束,執(zhí)行一些局部的優(yōu)化。
標(biāo)準(zhǔn)單元庫
如之前所述,標(biāo)準(zhǔn)單元庫對應(yīng)工藝庫,可以包含簡單的與門、非門等基本邏輯門單元,也可以包含特殊的宏單元,例如乘法器、特殊的觸發(fā)器等。
為了更好的映射與優(yōu)化,每個邏輯單元,應(yīng)當(dāng)包含以下信息:
1> 功能描述
2> 版圖面積
3> 時序信息
4> 功耗信息
設(shè)計約束
設(shè)計約束一般包括時序、面積、功耗等方面的約束。 三者之間往往存在制約關(guān)系。 為了優(yōu)化時序,可能需要增加硬件資源,導(dǎo)致電路面積增大,功耗增加。 為了產(chǎn)生規(guī)模更小的電路,又必須在電路速度上進(jìn)行妥協(xié)。 數(shù)字電路設(shè)計時往往要綜合各種因素進(jìn)行取舍。
優(yōu)化的門級表示
工藝映射與優(yōu)化完成后,最終會生成由目標(biāo)工藝庫所描述的優(yōu)化后的門級網(wǎng)表。 如果該網(wǎng)表滿足各種約束要求,則會被制作成最終的版圖。 否則還需要修改設(shè)計約束或優(yōu)化 RTL 描述,以獲得滿足約束要求的門級網(wǎng)表結(jié)果。 這個過程是反復(fù)的,直至最終網(wǎng)表滿足要求。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602977 -
時鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131446 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2000瀏覽量
61130 -
邏輯設(shè)計
+關(guān)注
關(guān)注
1文章
41瀏覽量
11572 -
門級電路
+關(guān)注
關(guān)注
0文章
15瀏覽量
1957
發(fā)布評論請先 登錄
相關(guān)推薦
評論