一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

邏輯綜合與物理綜合

sally100 ? 來源:數(shù)字ICer ? 作者:數(shù)字ICer ? 2022-11-28 16:02 ? 次閱讀

1.邏輯綜合

利用工具將RTL代碼轉(zhuǎn)化為門級網(wǎng)表的過程稱為邏輯綜合。綜合一個設(shè)計的過程,從讀取RTL代碼開始,通過時序約束關(guān)系,映射產(chǎn)生一個門級網(wǎng)表。

0f60afc2-6e07-11ed-8abf-dac502259ad0.png

1 流程介紹

1.用硬件描述語言進(jìn)行設(shè)計

讀入的設(shè)計,通常是采用硬件描述語言(HDL)編寫的,如Verilog和VHDL。

2.指定工藝庫

在根據(jù)約束條件進(jìn)行邏輯綜合時,對于選擇的流片工藝,工藝庫將提供綜合工具所需要的標(biāo)準(zhǔn)單元的全部信息,即工藝庫含有特定工藝下的標(biāo)準(zhǔn)單元的邏輯功能、單元的面積、輸入到輸出的時序關(guān)系、輸出的扇出限制和對單元時序檢查所需的信息等。

3.讀入設(shè)計

把HDL描述的設(shè)計,即RTL代碼輸入給綜合工具,由綜合工具進(jìn)行編譯,綜合工具在綜合時會首先檢查代碼的可綜合性。

4.定義環(huán)境約束條件

定義本設(shè)計要綜合時的環(huán)境,包括設(shè)計的工藝參數(shù)(溫度、制造工藝、電壓)、I/O端口屬性等。

5.設(shè)定設(shè)計的約束條件

約束條件將指定綜合工具按照什么樣的原則來綜合電路,該電路所要達(dá)到的指標(biāo)是什么。

2 定義時鐘

定義芯片所需的內(nèi)部時鐘信號

通常時鐘網(wǎng)絡(luò)在綜合過程中是不做處理的,會在后續(xù)的布局布線中插入時鐘樹,減小其時鐘偏斜。

輸入/輸出延時

為保證片外的觸發(fā)器可以正確地輸入/輸出,不僅要保證片內(nèi)的延時要滿足時序要求,而且要保證片內(nèi)外延時總和要滿足時序要求 。

0f78d9ee-6e07-11ed-8abf-dac502259ad0.png0fa227fe-6e07-11ed-8abf-dac502259ad0.png輸入/輸出延時示意

3 設(shè)定設(shè)計規(guī)則約束

設(shè)定設(shè)計規(guī)則約束包括節(jié)點上信號最大跳變時間(Max Transition)、最大扇出(Max Fanout)、最大電容(Max Capacitance)等。合理的設(shè)定這些約束條件將有利于控制功耗,保證信號完整性。

這3個約束可以設(shè)置在輸入端口、輸出端口及當(dāng)前設(shè)計上。通常這些約束在工藝庫內(nèi)已經(jīng)設(shè)定,由工藝參數(shù)決定大小。如果庫內(nèi)設(shè)定的值不夠恰當(dāng)或者過于樂觀,可以根據(jù)設(shè)計需要專門設(shè)置。

4 面積約束

面積約束是指定設(shè)計的最大面積值,如果設(shè)計超過了這一面積就違反了約束。

在將設(shè)計實體轉(zhuǎn)換成門級電路時,通常要加面積約束條件。這一設(shè)計指標(biāo),也是邏輯綜合過程中進(jìn)行優(yōu)化的依據(jù)之一。多數(shù)的邏輯綜合工具允許設(shè)計者按工藝庫中門級宏單元所用的單位來指定面積的約束條件。

5 優(yōu)化設(shè)計

優(yōu)化的主要目的是在滿足時序要求的前提下盡量減小芯片面積。與工藝無關(guān)的優(yōu)化缺乏非常準(zhǔn)確的時序信息,因而注意力往往集中在優(yōu)化面積上。等到映射之后時序信息比較準(zhǔn)確時再進(jìn)行修正更有效。

架構(gòu)優(yōu)化:如選擇DesignWare實現(xiàn)所需功能等。

邏輯優(yōu)化:重構(gòu)(優(yōu)化面積)與展平(優(yōu)化速度)。

門級優(yōu)化:映射、延時優(yōu)化、設(shè)計規(guī)則修正、面積優(yōu)化。

SoC設(shè)計中常用的綜合策略

有兩種基本的綜合策略可以選擇,即自頂向下(Top-down)與自底向上(Bottom-up)。

在自頂向下綜合策略里,頂層設(shè)計與其子模塊同時編譯,僅需要施加頂層約束。

自底向上的綜合策略是指先單獨地對各個子模塊進(jìn)行約束與綜合,完成后,賦予它們不再優(yōu)化(Dont_touch)屬性,將它們整合到上一層模塊中,進(jìn)行綜合,重復(fù)這一過程,直至綜合最頂層的模塊。

2.物理綜合

傳統(tǒng)的邏輯綜合方法是依賴于連線負(fù)載模型(Wire-load Model)的,隨著工藝尺寸的不斷縮小及芯片復(fù)雜性的增加,整個電路的延時信息更多取決于互連線延時。

在物理綜合時,就考慮布局布線的問題了。

0fb9d00c-6e07-11ed-8abf-dac502259ad0.png

操作模式

物理綜合要求的約束條件通常有芯片尺寸、引腳位置、線上負(fù)載信息、版圖規(guī)劃信息等。一般使用以下兩種操作模式。

RTL到門級模式:在RTL到門級模式下,物理綜合的輸入信息是RTL級的設(shè)計電路、版圖規(guī)劃信息及含有版圖信息的物理綜合的庫文件。

門級到布局后門級模式 :在這一模式下,與RTL到門級模式的唯一區(qū)別是物理綜合的輸入信息是門級網(wǎng)表,而不是RTL級的設(shè)計電路。

相對而言,RTL到門級模式所花費的時間要比門級到門級模式的時間長。

0fd8f5c2-6e07-11ed-8abf-dac502259ad0.png物理綜合的流程圖

更多請查看 :綜合與時序分析

實例:用Design Compiler 進(jìn)行邏輯綜合

0ff3896e-6e07-11ed-8abf-dac502259ad0.png在綜合的各個步驟中所經(jīng)常用到的命令

(1)指定庫文件

在綜合之前,需要用一個名為“.synopsys_dc.setup”的初始化文件建立綜合的環(huán)境。在該文件中,通過向相關(guān)環(huán)境變量賦值,來定義工藝庫的位置及綜合所需要的參數(shù)。

synopsys的安裝目錄下:對于UNIX系統(tǒng)來說,它通常位于“$SYNOPSYS/admin/setup”目錄下。用于卸載synopsys工藝獨立庫及別的參數(shù),不包含設(shè)計相關(guān)的數(shù)據(jù)。

用戶根目錄下:這里的setup文件包含用戶對于自己DC工作環(huán)境的參數(shù)設(shè)置。

啟動DC的當(dāng)前目錄:這里的setup文件包含因項目與設(shè)計而異的變量設(shè)置。

Setup文件的內(nèi)容

search_path:由目錄列表組成。當(dāng)DC搜索某個未指定路徑的文件(如庫、設(shè)計文件等)時,將由search_path中定義的路徑中去搜索該文件。通常將其定義為某個主要的庫文件所在的目錄路徑。

target_library:指定對設(shè)計進(jìn)行綜合時采用的工藝庫,由廠家提供。該庫中的器件被DC用于邏輯映射。本變量指定的庫文件名,應(yīng)該也包含在link_library所列出的內(nèi)容中,用于供DC讀取門級網(wǎng)表。

link_library:該變量指定的庫文件中的器件將不會被DC用來進(jìn)行綜合,如RAM、ROM及I/O。在RTL設(shè)計中,將以實例化的方式進(jìn)行引用。

symbol_library:該變量指定的庫文件包含有工藝庫中器件的圖形化信息,用于生成圖形化原理圖。

(2)讀入設(shè)計

100f17d8-6e07-11ed-8abf-dac502259ad0.png

(3)定義工作環(huán)境

設(shè)置環(huán)境條件(set_operating_conditions)

設(shè)置線負(fù)載模型(set_wire_load_model)

設(shè)置驅(qū)動強(qiáng)度(set_drive與set_driving_cell)

設(shè)置電容負(fù)載

設(shè)置扇出負(fù)載(set_fanout_load)

1038f666-6e07-11ed-8abf-dac502259ad0.png

(4)設(shè)置約束條件

設(shè)置設(shè)計規(guī)則約束(set_max_transition、set_max_fanout、set_max_capacitance)

例如:set_max_transition 0.3 current_design
例如:set_max_capacitance 1.5[get_ports out1]
例如:set_max_fanout 3.0[all_outputs]

時鐘定義的相關(guān)命令

create_clock用來定義一個時鐘的周期和波形
set_clock_latency定義時鐘網(wǎng)絡(luò)的延時
set_clock_uncertainty定義時鐘偏斜值

1055d90c-6e07-11ed-8abf-dac502259ad0.png

時鐘定義
create_generated_clock定義一個內(nèi)部生成的時鐘??梢詫?nèi)部分頻或者倍頻產(chǎn)生的時鐘定義為初級時鐘的函數(shù)。

例如:create_generated_clock -name GENCLK -source CLKIN -divide_by 2[get_pins idiv/ div_reg/Q]

對于只含有組合邏輯的模塊,為了定義該模塊的延時約束,可以創(chuàng)建一個虛擬時鐘,再相對于虛擬時鐘定義輸入/輸出延時。

設(shè)置輸入/輸出端口的延時

輸入延時定義了信號相對于時鐘的到達(dá)時間,指一個信號在時鐘沿之后多少時間到達(dá)。
輸出延時則定義輸出信號相對于時鐘所需要的到達(dá)時間,指一個信號在時鐘沿之前多少時間輸出。

1071db8e-6e07-11ed-8abf-dac502259ad0.png

特別路徑的約束

虛假路徑(set_false_path)是指由于邏輯功能、數(shù)據(jù)順序或操作模式等原因,從來不會激活或者不需要考慮的路徑。

10847640-6e07-11ed-8abf-dac502259ad0.png

設(shè)置多周期路徑

設(shè)置多周期路徑(set_multicycle_path),指設(shè)計中從發(fā)送數(shù)據(jù)到采樣到數(shù)據(jù)的時間允許多于一個時鐘周期的路徑。虛線標(biāo)出了多周期路徑。

10a1fd3c-6e07-11ed-8abf-dac502259ad0.png

(5)設(shè)定綜合優(yōu)化策略

通過使用compile命令調(diào)用DC,對設(shè)計進(jìn)行綜合與優(yōu)化。該命令有許多選項可以選擇,其中,映射努力(map_effort)即要求工具優(yōu)化的程度,可以設(shè)置為低、中、高。

在初次編譯時,如果需要對整個設(shè)計的性能和面積等有一個大致的了解,可以將map_effort設(shè)置為低。默認(rèn)的map_effort級別為中,而在最后一次編譯中,可以將map_effort設(shè)置為高。通常,將map_effort設(shè)置為中即可。

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    3

    瀏覽量

    6581
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    388

    瀏覽量

    60532
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2029

    瀏覽量

    61773

原文標(biāo)題:邏輯綜合與物理綜合

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

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    邏輯綜合的流程和命令簡析

    綜合就是把Verilog、VHDL轉(zhuǎn)換成網(wǎng)表的過程。綜合按照是否考慮物理布局信息可分為邏輯綜合物理
    的頭像 發(fā)表于 08-09 09:51 ?1134次閱讀
    <b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>的流程和命令簡析

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

    淺談IC設(shè)計中邏輯綜合引言在IC設(shè)計流程中,邏輯綜合是后端設(shè)計中很重要的一個環(huán)節(jié)。綜合就是指使用綜合
    發(fā)表于 05-16 20:02

    物理綜合與優(yōu)化的優(yōu)點有哪些?流程是怎樣的?

    物理綜合與優(yōu)化的優(yōu)點有哪些物理綜合與優(yōu)化流程看了就知道物理綜合與優(yōu)化示例
    發(fā)表于 04-08 06:18

    求一套手工邏輯綜合的方法和綜合步驟?

    手工綜合RTL級代碼的理論依據(jù)和實用方法時序邏輯綜合的實現(xiàn)方法
    發(fā)表于 04-08 06:06

    請問如何通過物理綜合與優(yōu)化去提升設(shè)計性能?

    物理綜合與優(yōu)化的優(yōu)點是什么?物理綜合與優(yōu)化有哪些流程?物理綜合與優(yōu)化有哪些示例?為什么要通過
    發(fā)表于 04-14 06:52

    怎么借助物理綜合提高FPGA設(shè)計效能?

    怎么借助物理綜合提高FPGA設(shè)計效能?
    發(fā)表于 05-07 06:21

    如何使用DCNXT實現(xiàn)物理綜合?

    Compiler NXT: RTL Synthesis物理綜合培訓(xùn)”,通過理論和實踐結(jié)合的方式,不僅是對綜合技術(shù)的概念、流程、時序約束等基礎(chǔ)知識的描述,更重點的是對物理
    發(fā)表于 06-23 06:59

    DC邏輯綜合詳解

    DC邏輯綜合詳解DC軟件簡介邏輯綜合DC命令DC軟件簡介DC( Design Compiler )為Synopsys公司邏輯合成工具。DC得
    發(fā)表于 07-29 08:07

    Tcl與Design Compiler (八)——DC的邏輯綜合與優(yōu)化 精選資料分享

    時序要求。理論部分以邏輯綜合為主,不涉及物理庫信息。在實戰(zhàn)部分,我們將在DC的拓?fù)淠J较逻M(jìn)行。(本文主要參考虞希清的《專用集成電路設(shè)...
    發(fā)表于 07-30 06:18

    什么是邏輯綜合?

    DC軟件怎么樣?什么是邏輯綜合?
    發(fā)表于 11-02 06:41

    DC邏輯綜合

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

    ASIC邏輯綜合及Synopsys Design Compiler 的使用資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是ASIC邏輯綜合及Synopsys Design Compiler 的使用資料說明包括了:1、邏輯綜合基本概念 a) Synopsys
    發(fā)表于 10-23 08:00 ?5次下載
    ASIC<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>及Synopsys  Design Compiler 的使用資料說明

    芯片設(shè)計之邏輯綜合過程

    邏輯綜合操作(Compile design),根據(jù)芯片的復(fù)雜程度,邏輯綜合操作的時間可能是幾秒,也可能是半個月。如果設(shè)計環(huán)境和約束設(shè)置不當(dāng),邏輯
    的頭像 發(fā)表于 08-12 15:10 ?4085次閱讀

    EDA邏輯綜合概念 邏輯綜合三個步驟

    邏輯綜合是電子設(shè)計自動化(EDA)中的一個重要步驟,用于將高級語言或硬件描述語言(HDL)表示的電路描述轉(zhuǎn)換為門級電路的過程。
    發(fā)表于 06-19 17:06 ?3827次閱讀

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

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