chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ASIC設(shè)計約束與SDC命令

FPGA算法工程師 ? 來源:FPGA算法工程師 ? 2023-07-09 11:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹了數(shù)字IC設(shè)計中重要的概念,包括時鐘樹,復位樹,以及在綜合期間重要的SDC約束命令。

在數(shù)字IC設(shè)計中,重要的ASIC設(shè)計約束分為兩類,主要是:

1.優(yōu)化約束

2.設(shè)計規(guī)則約束(DRC)

根據(jù)ASIC邏輯設(shè)計,優(yōu)化的約束是速度和面積。在物理設(shè)計中,我們需要對面積、速度和功率進行優(yōu)化設(shè)計。根據(jù)所需的技術(shù)節(jié)點和策略進行更好的功耗規(guī)劃,總是有助于獲得芯片的布局。

DRC是晶圓鑄造規(guī)則,主要是連接、扇出和容量。

約束可用于在邏輯和物理綜合的各個綜合階段優(yōu)化設(shè)計。

這些約束在設(shè)計的模塊、頂層和芯片級別。例如考慮如圖所示的處理器架構(gòu),可以為各種功能塊指定塊級約束,這些功能塊包括ALU、浮點引擎、高速接口等。頂層約束將在綜合過程中使用,它們用于集成所有功能塊。

f1efdad0-1e00-11ee-962d-dac502259ad0.png

處理器頂層架構(gòu)

如果滿足模塊級約束,并不意味著設(shè)計將滿足頂層約束。在物理設(shè)計期間,需要滿足干凈布局的芯片級約束。

對于處理器的綜合,以下可能是較好的策略:

1. 為不同的時鐘組執(zhí)行綜合。

2. 使用自底向上的綜合并提取模塊級約束。

3. 在模塊級綜合過程中優(yōu)化設(shè)計,以滿足面積和速度的要求。

4. 指定頂層約束。

5. 執(zhí)行頂層綜合并優(yōu)化設(shè)計以滿足頂層約束。

6. 如果不滿足約束條件,則使用策略來調(diào)整RTL架構(gòu)。

1

重要設(shè)計概念

1.1 時鐘樹

時鐘樹綜合是在物理設(shè)計流程中進行的,而在邏輯設(shè)計流程中我們沒有時鐘分布的信息。也就是說,我們將嘗試使用具有可用統(tǒng)計數(shù)據(jù)的Synopsys DC設(shè)置來指定時鐘和時鐘延遲。

1.2復位樹

具有多個功能塊初始化復位的設(shè)計需要與主復位同步。如果復位是在時鐘的有效邊緣期間產(chǎn)生的,則復位樹可用于避免亞穩(wěn)態(tài)輸出。

要考慮的重要參數(shù)是:

1.復位恢復時間

2.復位移除時間

1.3 時鐘和復位策略

在邏輯設(shè)計過程中,以下策略可能會對復位和時鐘有所幫助。

1.對于多個時鐘域,在數(shù)據(jù)和控制路徑中使用同步器,這已經(jīng)在《IC設(shè)計中的多時鐘域處理方法總結(jié)》一文中進行了介紹。

2.使用統(tǒng)計數(shù)據(jù)來引入時鐘延遲,并指定邏輯綜合過程中的設(shè)置和保持不確定性。

3.在邏輯設(shè)計期間手動實例化時鐘。

4.使用復位同步器將復位與主復位同步。

1.4 影響設(shè)計性能的是什么?

ASIC設(shè)計應滿足速度和面積的優(yōu)化約束。我們將在物理設(shè)計期間使用功率限制和DRC。以下是在綜合過程中需要解決的要點:

1. 模塊級約束:對于復雜的ASIC設(shè)計,如果我們考慮多個功能塊或IP,那么應該指定塊級約束。功能塊的塊級約束應該滿足。例如,處理器邏輯工作在250MHz的工作頻率,但整個芯片工作在500MHz。在這種情況下,與頂層約束相比,設(shè)置和保持的總體不確定性是不同的。因此,應該在塊級綜合期間使用塊級Tcl腳本。

2. 頂層約束:在完成所有功能塊的綜合后,對于自底向上的綜合,進行頂層集成。需要為特定的時鐘組指定頂層約束,主要在Tcl腳本中,應該使用以下命令:

(a)時延信息

(b)輸入時延

(c)輸出時延

(d)setup不確定性

(e)hold不確定性

如果滿足模塊級約束,但不能保證滿足頂層約束。可能原因是這樣的:

1. 如果設(shè)計分區(qū)不在順序邊界上,則會產(chǎn)生額外的延遲。

2. 數(shù)據(jù)到達速度快,且設(shè)計中存在缺陷。

3.數(shù)據(jù)到達緩慢,并且設(shè)計存在設(shè)置沖突。

4. 如果在綜合過程中,由于多循環(huán)和假路徑,會出現(xiàn)定時異常。

5. 由于同步策略不佳導致數(shù)據(jù)完整性降低。

6. 如果設(shè)計有層次結(jié)構(gòu),并且DC不能優(yōu)化粘合邏輯。在這種情況下,設(shè)計需要扁平化以提高優(yōu)化。

2

約束說明

需要為Verilog文件指定的模塊和頂層綜合的重要約束是面積、速度和功率。讓我們排除功率,因為功率優(yōu)化不是使用DC進行的。作為一名設(shè)計師和綜合團隊成員,我們的目標是對設(shè)計有功能性的理解,以及對設(shè)計的整體面積和速度要求。

2.1面積約束

在邏輯綜合期間,該區(qū)域是由于使用的邏輯和宏。標準單元信息在庫中可用,并且需要特定的宏來實現(xiàn)設(shè)計的低級抽象。整體面積優(yōu)化可以在過程中進行:

1. RTL設(shè)計:使用資源共享、資源分配、消除死區(qū)、使用括號和摸索等概念。

2. 綜合:通過使用工具指定的命令和使用區(qū)域優(yōu)化命令,可以優(yōu)化區(qū)域。

2.2 速度約束

速度是特別重要的因素,因為它決定了設(shè)計的整體性能。設(shè)計的速度約束需要根據(jù)特定技術(shù)節(jié)點的庫中可用的統(tǒng)計數(shù)據(jù)來制定,并且要滿足這些約束。由于實際的布局布線在邏輯綜合期間不可用,因此目標是仔細查看以消除塊和頂層設(shè)計的設(shè)置沖突。綜合和STA團隊需要指定以下內(nèi)容:

1.時鐘

2.時鐘延遲

3.建立并保持不確定性。

4.輸入和輸出最大和最小延遲

5.選擇多周期路徑

6.指定偽路徑

2.3功率約束

功率是另一個約束條件,在功率規(guī)劃中,我們將約束條件指定為漏電和動態(tài)功率。為了實現(xiàn)低功耗感知架構(gòu)和設(shè)計,我們將在各個設(shè)計階段使用統(tǒng)一功率格式(UPF)。以下是一些優(yōu)化功率的策略:

1. 架構(gòu)設(shè)計:具有低功耗架構(gòu)設(shè)計,具有上電順序和電源關(guān)閉策略。

2. 使用低功率單元:在設(shè)計過程中使用低功率單元,但設(shè)計師需要更好地了解單元的特性,因為這些單元的使用對設(shè)計速度有重大影響。

3.RTL設(shè)計:在RTL設(shè)計中,使用時鐘門控單元來降低動態(tài)功率。

3

設(shè)計中的問題

以下是ASIC綜合過程中的重要挑戰(zhàn):

1.邏輯的修改。

2.未連接的端口和網(wǎng)絡滿足了模塊級速度限制,但在頂層設(shè)計上失敗了。

3.雖然RTL驗證成功,但設(shè)計的模塊級連接存在缺失。

4

綜合期間的重要SDC命令

本節(jié)討論在綜合過程中使用的重要DC命令,這些命令對于指定約束很有用。

4.1Synopsys DC命令

在ASIC綜合過程中使用的一些SDC命令記錄在本節(jié)中。

1.Reading the design(讀取設(shè)計)

read –format

以上命令用于讀取設(shè)計。

f2199f5a-1e00-11ee-962d-dac502259ad0.png

2.Analyze the design(分析設(shè)計)

analyze –format < format_type >

用于分析設(shè)計。它用于報告語法錯誤,并在擁有通用邏輯之前執(zhí)行設(shè)計轉(zhuǎn)換。通用邏輯是synopsys通用技術(shù)獨立庫的一部分。這些組件被命名為GTECH。這個邏輯是布爾函數(shù)的未映射表示。

f24afb22-1e00-11ee-962d-dac502259ad0.png

3. Elaborate the design(細化設(shè)計)

elaborate –format < format_type >

用于細化設(shè)計,并可用于在細化過程中為相同的分析設(shè)計指定不同的架構(gòu)。

f286be32-1e00-11ee-962d-dac502259ad0.png

重要的是要了解Read、Analyze和Elaborate命令的區(qū)別。以下是關(guān)鍵點:

1. 在進行細化設(shè)計的同時,通過分析和細化來傳遞所需的參數(shù)。

2. 在輸入DC中預編譯的設(shè)計或網(wǎng)絡列表時使用讀取。

3.使用analyze和elaboration命令,可以在精化過程中為相同的分析設(shè)計指定不同的架構(gòu)。

4. read命令不允許使用不同的架構(gòu)。

4.2設(shè)計檢查

在使用DC讀取設(shè)計之后,使用check_design來檢查設(shè)計問題,如短路、斷路、多個連接、實例化和無連接。

f2aa86b4-1e00-11ee-962d-dac502259ad0.png

4.3clock定義

需要使用命令create_clock指定時鐘,并且在時序分析期間將其用作參考時鐘。使用create_clock命令定義時鐘的示例如下。

create_clock–name -period

該命令用于為設(shè)計創(chuàng)建時鐘,作為時序分析時的參考時鐘。如果設(shè)計沒有時鐘,那么它將被視為虛擬時鐘。

f2d04a2a-1e00-11ee-962d-dac502259ad0.png

時鐘有不同的占空比

如果設(shè)計者希望使用具有0.5 ns上升沿和2 ns時鐘周期的可變占空比時鐘,則create_clock命令可以修改為

create_clock –name clock - period 2 –waveform {0.5,2} –name processor_clock

虛擬時鐘

如果設(shè)計沒有時鐘引腳,則使用以下命令創(chuàng)建虛擬時鐘。

下列命令生成頻率為500mhz,占空比為50%的虛擬時鐘。

create_clock –name clock -period 2

下列命令生成頻率為500mhz的虛擬時鐘,具有可變占空比,上升沿為0.5 ns,下降沿為2 ns。

create_clock –name clock -period 5 –waveform {0.5,2}

4.4skew定義

正如前面的文章所討論的,偏差是時鐘信號到達之間的差異。如果源觸發(fā)器的時鐘相對于目標觸發(fā)器延遲,則該偏差稱為負時鐘偏差,對hold有用。如果與源觸發(fā)器相比,目標觸發(fā)器的時鐘延遲,則該偏差稱為正時鐘偏差,對setup很有用。原因是目標觸發(fā)器的時鐘延遲,數(shù)據(jù)可能由于偏差而延遲到達。

設(shè)計編譯器將無法綜合時鐘樹,所以為了克服這個問題,時鐘傾斜是用來指定延遲的!

下列命令由設(shè)計編譯器用于指定設(shè)計的時鐘傾斜

set_clock_skew –rise_delay -fall_delay

f2f97710-1e00-11ee-962d-dac502259ad0.png

4.5Input /output delay 定義

可以分別使用set_input_delay和set_output_delay命令指定輸入和輸出延遲。用于指定輸入和輸出延遲的命令如下所示。

set_input_delay –clock

用于定義輸入延遲。

f34753e0-1e00-11ee-962d-dac502259ad0.png

set_output_delay –clock

用于定義輸出延遲。

f3727462-1e00-11ee-962d-dac502259ad0.png

4.6指定min/max delay

輸入和輸出延遲可以根據(jù)設(shè)計需要指定為最小或最大。

Maximum Input Delay

set_input_delay –clock -max

用于定義最大輸入延遲。

f3a03bc2-1e00-11ee-962d-dac502259ad0.png

Minimum Input Delay

set_input_delay –clock -min

用于定義最小輸入延遲。

f3d16422-1e00-11ee-962d-dac502259ad0.png

set_output_delay –clock -max

用于定義最大輸出延遲。

f41eefee-1e00-11ee-962d-dac502259ad0.png

Minimum Output Delay

set_output_delay –clock -min

用于定義最小輸出延遲。

f4407970-1e00-11ee-962d-dac502259ad0.png

4.7設(shè)計綜合

compile命令用于執(zhí)行設(shè)計綜合。如前一節(jié)所討論的,我們需要將設(shè)計約束、庫和Verilog文件作為綜合工具的輸入。設(shè)計綜合可以使用不同的努力水平(如低、中、高)來執(zhí)行。

編譯命令指定為:

compile –map_effort

f4602310-1e00-11ee-962d-dac502259ad0.png

4.8保存設(shè)計

write命令用于保存設(shè)計。設(shè)計人員可以將綜合輸出保存為Verilog (.v)或數(shù)據(jù)庫(.ddc)格式。該命令可以如下所示指定:

write –format -output

f486eae0-1e00-11ee-962d-dac502259ad0.png

5

約束驗證

下表列出了用于驗證設(shè)計的重要命令。

f4cc9310-1e00-11ee-962d-dac502259ad0.png

6

DRC、功率和優(yōu)化約束

下表列出了用于指定設(shè)計規(guī)則、功率和優(yōu)化約束的重要命令。

f5009994-1e00-11ee-962d-dac502259ad0.png

7

本文總結(jié)

總結(jié)本文的要點:

1.設(shè)計約束包括優(yōu)化約束和設(shè)計規(guī)則約束。

2. 綜合是從較高層得到較低層設(shè)計抽象的過程。

3.綜合工具使用Verilog文件、庫和約束作為輸入。

4. 綜合工具的輸出是門級網(wǎng)表。

5. 模塊級和頂層設(shè)計的約束應該記錄在單獨的Tcl文件中。

6. Synopsys DC沒有針對功率進行優(yōu)化。

7. 在邏輯綜合過程中,目標是優(yōu)化設(shè)計的面積和速度。

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

    關(guān)注

    34

    文章

    1264

    瀏覽量

    123516
  • 數(shù)字IC
    +關(guān)注

    關(guān)注

    2

    文章

    38

    瀏覽量

    13214
  • SDC
    SDC
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    16072

原文標題:ASIC設(shè)計約束與SDC命令

文章出處:【微信號:FPGA算法工程師,微信公眾號:FPGA算法工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    時序約束實操

    添加約束的目的是為了告訴FPGA你的設(shè)計指標及運行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復制到別的指定目錄或
    的頭像 發(fā)表于 04-28 18:36 ?3253次閱讀
    時序<b class='flag-5'>約束</b>實操

    VIVADO時序約束及STA基礎(chǔ)

    時序約束的目的就是告訴工具當前的時序狀態(tài),以讓工具盡量優(yōu)化時序并給出詳細的分析報告。一般在行為仿真后、綜合前即創(chuàng)建基本的時序約束。Vivado使用SDC基礎(chǔ)上的XDC腳本以文本形式約束
    的頭像 發(fā)表于 03-11 14:39 ?1.1w次閱讀

    時序分析的設(shè)計約束SDC

    使用SDC命令create_clock創(chuàng)建時鐘,時鐘周期20,占空比50%的時鐘信號;
    的頭像 發(fā)表于 11-08 09:12 ?9820次閱讀

    聊聊ASIC設(shè)計約束SDC命令

    根據(jù)ASIC邏輯設(shè)計,優(yōu)化的約束是速度和面積。在物理設(shè)計中,我們需要對面積、速度和功率進行優(yōu)化設(shè)計。根據(jù)所需的技術(shù)節(jié)點和策略進行更好的功耗規(guī)劃,總是有助于獲得芯片的布局。
    發(fā)表于 07-11 09:31 ?1088次閱讀
    聊聊<b class='flag-5'>ASIC</b>設(shè)計<b class='flag-5'>約束</b>與<b class='flag-5'>SDC</b><b class='flag-5'>命令</b>

    ASIC設(shè)計約束SDC命令介紹

    在數(shù)字IC設(shè)計中,重要的ASIC設(shè)計約束分為兩類
    發(fā)表于 07-12 11:34 ?1995次閱讀
    <b class='flag-5'>ASIC</b>設(shè)計<b class='flag-5'>約束</b>與<b class='flag-5'>SDC</b><b class='flag-5'>命令</b>介紹

    時序約束 專版

    TimeQuest Timing Analyzer為各種各樣的時鐘配置和典型時鐘提供許多SDC命令。 這個章節(jié)將介紹SDC可用的應用編程接口,以及描述指定的時鐘特性。 時鐘(Clocks
    發(fā)表于 05-16 18:51

    FPGA的reset信號需要加什么SDC約束呢?

    FPGA的reset信號需要加什么SDC約束呢?
    發(fā)表于 04-23 11:38

    請問時序約束文件SDC支持哪些約束?

    時序約束文件SDC支持哪些約束?
    發(fā)表于 08-11 09:27

    介紹系統(tǒng)接口sdc

    今天要介紹的基本sdc是系統(tǒng)接口sdc。主要包括set_drive, set_driving_cell, set_input_transition, set_load這四條命令,都是和端口上的驅(qū)動負載有關(guān).
    的頭像 發(fā)表于 02-03 14:34 ?1.2w次閱讀
    介紹系統(tǒng)接口<b class='flag-5'>sdc</b>

    Vivado設(shè)計套件TCL命令資料參考指南免費下載

    工具命令語言(TCL)是集成在VIVADO環(huán)境中的腳本語言。TCL是半導體工業(yè)中用于應用程序編程接口的標準語言,并由SyoSype?設(shè)計約束SDC)使用。
    發(fā)表于 08-09 08:00 ?38次下載
    Vivado設(shè)計套件TCL<b class='flag-5'>命令</b>資料參考指南免費下載

    如何將Altera的SDC約束轉(zhuǎn)換為Xilinx XDC約束

    了解如何將Altera的SDC約束轉(zhuǎn)換為Xilinx XDC約束,以及需要更改或修改哪些約束以使Altera的約束適用于Vivado設(shè)計軟件
    的頭像 發(fā)表于 11-27 07:17 ?5754次閱讀

    時序分析的設(shè)計約束SDC怎么寫呢?

    使用SDC命令create_clock創(chuàng)建時鐘,時鐘周期20,占空比50%的時鐘信號
    的頭像 發(fā)表于 06-18 09:42 ?5888次閱讀
    時序分析的設(shè)計<b class='flag-5'>約束</b><b class='flag-5'>SDC</b>怎么寫呢?

    SDC是如何煉成的?怎么去驗收SDC呢?

    STA是由SDC驅(qū)動的,所以SDC的完整性、正確性和一致性直接決定著綜合、布局布線以及STA的有效性。
    的頭像 發(fā)表于 06-28 17:17 ?5754次閱讀
    <b class='flag-5'>SDC</b>是如何煉成的?怎么去驗收<b class='flag-5'>SDC</b>呢?

    時序分析基本概念—SDC概述

    今天我們要介紹的時序概念是設(shè)計約束文件 **SDC** . 全稱 ***Synopsys design constraints*** . SDC是一個設(shè)計中至關(guān)重要的一個文件。
    的頭像 發(fā)表于 07-03 14:51 ?8265次閱讀
    時序分析基本概念—<b class='flag-5'>SDC</b>概述

    時序分析基本概念介紹—時鐘sdc

    雖然sdc大大小小有上百條命令,但實際常用的其實就那么10幾條。今天我們來介紹下與時鐘相關(guān)的命令。
    的頭像 發(fā)表于 07-05 10:57 ?3471次閱讀
    時序分析基本概念介紹—時鐘<b class='flag-5'>sdc</b>