0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

邏輯綜合在整個(gè)IC設(shè)計(jì)流程RTL2GDS中的位置

sanyue7758 ? 來源:處芯積律 ? 2023-03-27 10:51 ? 次閱讀

根據(jù)摩爾定律的發(fā)展,晶體管的Poly的最小柵極長度已經(jīng)到達(dá)了1nm甚至更小,集成電路的規(guī)模越來越大,集成度越來越高。因而,設(shè)計(jì)者已經(jīng)無法像最原始的手動(dòng)將HDL(Verilog/VHDL)等描述語言轉(zhuǎn)化為電路圖并描述元件間互聯(lián)來產(chǎn)生一個(gè)門級網(wǎng)表。所以各種用于ASIC設(shè)計(jì)的EDA工具(DC,Genus等)也應(yīng)運(yùn)而生。

04417bba-cb29-11ed-bfe3-dac502259ad0.png

圖1 邏輯綜合在整個(gè)IC設(shè)計(jì)流程RTL2GDS之間的位置

在整個(gè)ASIC設(shè)計(jì)的流程中,需要前端設(shè)計(jì)工程師完成可實(shí)現(xiàn)功能的RTL代碼,最后到用于流片的GDSII則是包含芯片制造廠家的工藝信息,這中間邏輯綜合起到了很重要的橋接作用。綜合工具會(huì)根據(jù)我們使用的芯片廠商提供的標(biāo)準(zhǔn)單元庫文件的信息,將HDL的RTL代碼轉(zhuǎn)化為帶工藝信息的門級電路網(wǎng)表(netlist),進(jìn)行formal形式驗(yàn)證,確保綜合過后與RTL階段功能邏輯一致后,綜合階段時(shí)序沒風(fēng)險(xiǎn)后再交付給后端工程師來進(jìn)行布局布線。

小編以S家的DC為例子分享一些在設(shè)計(jì)過程中需要進(jìn)行的時(shí)鐘結(jié)構(gòu)分析(以經(jīng)典的reg2reg為例子),約束設(shè)置,邏輯綜合。

首先作為一個(gè)優(yōu)秀的邏輯綜合工程師SDC約束/UPF/CPF約束是少不了寫的,尤其是對一些端口和Critical path,一個(gè)“干凈”的網(wǎng)表是后端的完美開局!約束包括環(huán)境約束和設(shè)計(jì)約束,設(shè)計(jì)約束又分 為時(shí)序約束和設(shè)計(jì)規(guī)則約束。整個(gè)綜合的過程,最關(guān)鍵的部分就是制定一個(gè)正確的約束,特別是時(shí)序約束。約束定義的好壞影響到綜合結(jié)果的優(yōu)劣。

045b96c6-cb29-11ed-bfe3-dac502259ad0.png

圖2 Reg2Reg的經(jīng)典STA路徑

我們以對Clock的約束為例子, Clock latency通常指的就是從Clock pin(source)或IO pad中傳遞到sink點(diǎn)CP端的延遲,在綜合階段由于是未傳播的,因此Skew的值通常是前后兩級寄存器對應(yīng)的source到CP端的Cell Delay或單純Net delay計(jì)算的差值,并包含在uncertainty內(nèi)。

Clock_transiton的值要根據(jù)工藝來進(jìn)行調(diào)整,通常在28nm以下的工藝,Clock_transition的值要取在對應(yīng)時(shí)鐘周期的十分之一內(nèi),具體情況要根據(jù)lib內(nèi)的查找表來定。下面簡單寫下在SDC中對input clock—i_clk時(shí)需要注意的約束

046fe928-cb29-11ed-bfe3-dac502259ad0.png

同時(shí),異步復(fù)位信號造成網(wǎng)表內(nèi)的部分寄存器的Q—>rstn端發(fā)生setup Violation也是一個(gè)邏輯綜合工程師會(huì)經(jīng)常遇到的問題,這種異步的復(fù)位端時(shí)序檢查我們需要添加MutiCyle來進(jìn)行檢查上的放松。MutiCyle的放松約束包括:同頻時(shí)鐘,快到慢,慢到快等等,不同情況MutiCyle的約束書寫也不盡相同:

04831cfa-cb29-11ed-bfe3-dac502259ad0.png

介紹完綜合工程師需要掌握的部分重要約束的書寫,ICer們再跟著小編來看看邏輯綜合的每個(gè)階段,到底在干什么吧!

電路的綜合一般分為三個(gè)步驟,分別是轉(zhuǎn)化(Translation)、邏輯優(yōu)化(Logic Optimizaion)映射(Mapping)

轉(zhuǎn)化(Translation):把描述RTL級的HDL語言(verilog),在約束下轉(zhuǎn)化成綜合工具內(nèi)部的統(tǒng)一用門級描述的電路(Generic Boolean Gates),即HDL—>netlist

邏輯優(yōu)化(Logic Optimization):把統(tǒng)一用門級描述的電路進(jìn)行優(yōu)化,改善路徑和門。

映射(Mapping):把優(yōu)化了的統(tǒng)一門級描述。以DC為例,DC使用工藝庫(lib庫)將電路映射出來,得到.ddc文件,該文件包含如映射的門電路信息與網(wǎng)表,.v格式的網(wǎng)表,延時(shí)信息(sdf)【sdf文件主要包括cell, net delay信息和cell的hold,setup,recover,removel等邊沿應(yīng)該滿足的要求等信息】,工作約束(sdc)【包含clk的信息,以及驅(qū)動(dòng),輸入輸出延時(shí),最大最小延遲約束,特殊路徑等】等信息。.ddc中包含的網(wǎng)表是實(shí)際意義上的綜合過后的網(wǎng)表文件(類似PT中的session,innovus內(nèi)的enc),.v的網(wǎng)表是用于進(jìn)行后仿的文件。

0495be28-cb29-11ed-bfe3-dac502259ad0.png

在上面的過程中,約束對于綜合而言非常重要,如果不施加約束,綜合工具會(huì)產(chǎn)生非優(yōu)化(no-opt)的網(wǎng)表,無法滿足要求。綜合是約束驅(qū)動(dòng)(Constraint driven)的,給定的約束是綜合的目標(biāo),約束一般是在對整個(gè)系統(tǒng)進(jìn)行時(shí)序分析得到的,綜合工具會(huì)對電路進(jìn)行優(yōu)化以滿足約束的要求。綜合以時(shí)序路徑為基礎(chǔ)進(jìn)行優(yōu)化。

綜合的具體過程

1. 準(zhǔn)備RTL代碼,經(jīng)過前端仿真后才能用于綜合;

2. 定義庫,設(shè)定好所需要用到的綜合庫等多種庫;

04be0586-cb29-11ed-bfe3-dac502259ad0.png

3. 讀入設(shè)計(jì),綜合工具讀入RTL代碼并進(jìn)行分析;

04d11cfc-cb29-11ed-bfe3-dac502259ad0.png

4. 定義設(shè)計(jì)環(huán)境,設(shè)定設(shè)計(jì)的工作環(huán)境、端口的驅(qū)動(dòng)和負(fù)載、線負(fù)載模型等;

5. 設(shè)置設(shè)計(jì)約束(關(guān)鍵),主要是定義時(shí)鐘和I/O的約束,約束要適當(dāng),只有正確的約束才能得到正確的結(jié)果;

04e848dc-cb29-11ed-bfe3-dac502259ad0.png

6. 設(shè)置綜合策略,top-down和bottom-up兩種策略(就是文件目錄順序不一樣),根據(jù)需求進(jìn)行選擇;

7. 優(yōu)化設(shè)計(jì),綜合工具可以根據(jù)約束對電路進(jìn)行優(yōu)化,也可認(rèn)為加入命令改變優(yōu)化方法;

0661b9a0-cb29-11ed-bfe3-dac502259ad0.png

8. 分析和解決設(shè)計(jì)的問題,在設(shè)計(jì)綜合后,根據(jù)報(bào)告分析設(shè)計(jì)中出現(xiàn)的問題,并修訂問題;

9. 保存設(shè)計(jì)數(shù)據(jù),綜合結(jié)束后,保存各種數(shù)據(jù)以供后續(xù)布局布線使用(需先通過formal驗(yàn)證)

06747626-cb29-11ed-bfe3-dac502259ad0.png

好了,今天這期的邏輯綜合內(nèi)容小編就介紹到這里了,下期小編將會(huì)以一個(gè)帶載入U(xiǎn)PF流程的Genus的SYN Flow為切入點(diǎn),進(jìn)行實(shí)戰(zhàn)中的綜合Flow的解析!





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • IC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    37

    文章

    1287

    瀏覽量

    103434
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    264

    瀏覽量

    31536
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    324

    瀏覽量

    47230
  • ASIC技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    7565
  • UPF
    UPF
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    13439

原文標(biāo)題:搞芯片,不懂邏輯綜合是啥?

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    IC設(shè)計(jì)流程簡介

    單元,ATPG,以及邊界掃描電路BoundScan,測試Memory的BIST。流程:【邏輯設(shè)計(jì)--子功能分解--詳細(xì)時(shí)序框圖--分塊邏輯仿真--電路設(shè)計(jì)(算法的行為級,RTL級描述)
    發(fā)表于 12-19 16:20

    IC設(shè)計(jì)流程

    GDSⅡ的設(shè)計(jì)流程: 這個(gè)可以理解成半定制的設(shè)計(jì)流程,一般用來設(shè)計(jì)數(shù)字電路。 整個(gè)流程如下(左側(cè)為流程
    發(fā)表于 01-11 13:49

    個(gè)人總結(jié)的數(shù)字電路IC設(shè)計(jì)流程介紹

    直接生成一些邏輯結(jié)果。  RTL設(shè)計(jì),一大問題是異步設(shè)計(jì)問題,異步數(shù)據(jù)的處理根據(jù)不同情況有很多方式, 最簡單的,如果對異步的電平信號, 可以直接在新的時(shí)鐘域中加2級寄存器來隔離,避免
    發(fā)表于 01-04 17:07

    淺談IC設(shè)計(jì)邏輯綜合

    淺談IC設(shè)計(jì)邏輯綜合引言在IC設(shè)計(jì)流程,
    發(fā)表于 05-16 20:02

    IC設(shè)計(jì)流程介紹

    上)對綜合后的網(wǎng)表進(jìn)行驗(yàn)證。常用的就是等價(jià)性檢查方法,以功能驗(yàn)證后的HDL設(shè)計(jì)為參考,對比綜合后的網(wǎng)表功能,他們是否在功能上存在等價(jià)性。這樣做是為了保證在邏輯綜合過程
    發(fā)表于 08-13 17:05

    IC設(shè)計(jì)流程介紹

     1.1 從RTLGDSⅡ的設(shè)計(jì)流程: 這個(gè)可以理解成半定制的設(shè)計(jì)流程,一般用來設(shè)計(jì)數(shù)字電路。整個(gè)流程
    發(fā)表于 08-16 09:14

    IC驗(yàn)證在現(xiàn)代IC設(shè)計(jì)流程位置和作用

    現(xiàn)代IC(Integrated circuit,集成電路)前端的設(shè)計(jì)流程。通常的IC設(shè)計(jì)是從一份需求說明書開始的,這份需求說明書一般來自于產(chǎn)品經(jīng)理(有些公司可能沒有單獨(dú)的職位,而是由其他職位兼任
    發(fā)表于 12-01 14:39

    基于google skywater 130nm opensource PDK的快捷方法

    openLANE的RTL2GDS fow,基于google skywater 130nm opensource PDK
    發(fā)表于 12-21 06:58

    請問在整個(gè)設(shè)計(jì)流程如何控制IC的功耗?

    請問在整個(gè)設(shè)計(jì)流程如何控制IC的功耗?
    發(fā)表于 04-14 07:35

    時(shí)序邏輯等效性的RTL設(shè)計(jì)和驗(yàn)證流程介紹

    關(guān)于時(shí)序邏輯等效性的RTL設(shè)計(jì)和驗(yàn)證流程介紹。
    發(fā)表于 04-28 06:13

    DC邏輯綜合

    芯片綜合的過程:芯片的規(guī)格說明,芯片設(shè)計(jì)的劃分,預(yù)布局,RTL 邏輯單元的綜合,各邏輯單元的集成,測試,布局規(guī)劃,布局布線,最終驗(yàn)證等步驟。
    發(fā)表于 12-29 16:28 ?25次下載
    DC<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>

    全定制和半定制簡易IC設(shè)計(jì)流程介紹

    一般的IC設(shè)計(jì)流程可以分為兩大類:全定制和半定制,這里我換一種方式來說明。 1.1 從RTLGDSⅡ的設(shè)計(jì)流程: 這個(gè)可以理解成半定制的設(shè)
    發(fā)表于 10-20 11:38 ?25次下載
    全定制和半定制簡易<b class='flag-5'>IC</b>設(shè)計(jì)<b class='flag-5'>流程</b>介紹

    IC設(shè)計(jì)流程之全定制和半定制

    一個(gè)完整的半定制設(shè)計(jì)流程應(yīng)該是:RTL代碼輸入、功能仿真、邏輯綜合、形式驗(yàn)證、時(shí)序/功耗/噪聲分析,布局布線(物理綜合)、版圖驗(yàn)證。
    發(fā)表于 11-24 09:17 ?1.1w次閱讀

    邏輯綜合與物理綜合

    利用工具將RTL代碼轉(zhuǎn)化為門級網(wǎng)表的過程稱為邏輯綜合。綜合一個(gè)設(shè)計(jì)的過程,從讀取RTL代碼開始,通過時(shí)序約束關(guān)系,映射產(chǎn)生一個(gè)門級網(wǎng)表。
    的頭像 發(fā)表于 11-28 16:02 ?2333次閱讀

    什么是邏輯綜合?邏輯綜合流程有哪些?

    邏輯綜合是將RTL描述的電路轉(zhuǎn)換成門級描述的電路,將HDL語言描述的電路轉(zhuǎn)換為性能、面積和時(shí)序等因素約束下的門級電路網(wǎng)表。
    的頭像 發(fā)表于 09-15 15:22 ?4142次閱讀
    什么是<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>?<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>的<b class='flag-5'>流程</b>有哪些?