色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

ASIC設計約束與SDC命令

FPGA算法工程師 ? 來源:FPGA算法工程師 ? 2023-07-09 11:28 ? 次閱讀

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

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

1.優化約束

2.設計規則約束(DRC)

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

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

約束可用于在邏輯和物理綜合的各個綜合階段優化設計。

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

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

處理器頂層架構

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

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

1. 為不同的時鐘組執行綜合。

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

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

4. 指定頂層約束。

5. 執行頂層綜合并優化設計以滿足頂層約束。

6. 如果不滿足約束條件,則使用策略來調整RTL架構。

1

重要設計概念

1.1 時鐘樹

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

1.2復位樹

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

要考慮的重要參數是:

1.復位恢復時間

2.復位移除時間

1.3 時鐘和復位策略

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

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

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

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

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

1.4 影響設計性能的是什么?

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

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

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

(a)時延信息

(b)輸入時延

(c)輸出時延

(d)setup不確定性

(e)hold不確定性

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

1. 如果設計分區不在順序邊界上,則會產生額外的延遲。

2. 數據到達速度快,且設計中存在缺陷。

3.數據到達緩慢,并且設計存在設置沖突。

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

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

6. 如果設計有層次結構,并且DC不能優化粘合邏輯。在這種情況下,設計需要扁平化以提高優化。

2

約束說明

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

2.1面積約束

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

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

2. 綜合:通過使用工具指定的命令和使用區域優化命令,可以優化區域。

2.2 速度約束

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

1.時鐘

2.時鐘延遲

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

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

5.選擇多周期路徑

6.指定偽路徑

2.3功率約束

功率是另一個約束條件,在功率規劃中,我們將約束條件指定為漏電和動態功率。為了實現低功耗感知架構和設計,我們將在各個設計階段使用統一功率格式(UPF)。以下是一些優化功率的策略:

1. 架構設計:具有低功耗架構設計,具有上電順序和電源關閉策略。

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

3.RTL設計:在RTL設計中,使用時鐘門控單元來降低動態功率。

3

設計中的問題

以下是ASIC綜合過程中的重要挑戰:

1.邏輯的修改。

2.未連接的端口網絡滿足了模塊級速度限制,但在頂層設計上失敗了。

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

4

綜合期間的重要SDC命令

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

4.1Synopsys DC命令

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

1.Reading the design(讀取設計)

read –format

以上命令用于讀取設計。

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

2.Analyze the design(分析設計)

analyze –format < format_type >

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

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

3. Elaborate the design(細化設計)

elaborate –format < format_type >

用于細化設計,并可用于在細化過程中為相同的分析設計指定不同的架構。

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

重要的是要了解Read、Analyze和Elaborate命令的區別。以下是關鍵點:

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

2. 在輸入DC中預編譯的設計或網絡列表時使用讀取。

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

4. read命令不允許使用不同的架構。

4.2設計檢查

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

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

4.3clock定義

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

create_clock–name -period

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

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

時鐘有不同的占空比

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

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

虛擬時鐘

如果設計沒有時鐘引腳,則使用以下命令創建虛擬時鐘。

下列命令生成頻率為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定義

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

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

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

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

輸入和輸出延遲可以根據設計需要指定為最小或最大。

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設計綜合

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

編譯命令指定為:

compile –map_effort

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

4.8保存設計

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

write –format -output

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

5

約束驗證

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

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

6

DRC、功率和優化約束

下表列出了用于指定設計規則、功率和優化約束的重要命令。

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

7

本文總結

總結本文的要點:

1.設計約束包括優化約束和設計規則約束。

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

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

4. 綜合工具的輸出是門級網表。

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

6. Synopsys DC沒有針對功率進行優化。

7. 在邏輯綜合過程中,目標是優化設計的面積和速度。

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

    關注

    34

    文章

    1204

    瀏覽量

    120560
  • 數字IC
    +關注

    關注

    1

    文章

    38

    瀏覽量

    12595
  • SDC
    SDC
    +關注

    關注

    0

    文章

    49

    瀏覽量

    15560

原文標題:ASIC設計約束與SDC命令

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

收藏 人收藏

    評論

    相關推薦

    時序約束實操

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

    VIVADO時序約束及STA基礎

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

    時序分析的設計約束SDC

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

    聊聊ASIC設計約束SDC命令

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

    ASIC設計約束SDC命令介紹

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

    時序約束 專版

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

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

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

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

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

    介紹系統接口sdc

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

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

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

    如何將Altera的SDC約束轉換為Xilinx XDC約束

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

    時序分析的設計約束SDC怎么寫呢?

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

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

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

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

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

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

    雖然sdc大大小小有上百條命令,但實際常用的其實就那么10幾條。今天我們來介紹下與時鐘相關的命令
    的頭像 發表于 07-05 10:57 ?2053次閱讀
    時序分析基本概念介紹—時鐘<b class='flag-5'>sdc</b>
    主站蜘蛛池模板: 国产色情短视频在线网站| 欧美成人中文字幕在线看| 日韩精品无码视频一区二区蜜桃| 成人网18免费韩国| 亚洲不卡视频在线观看| 久久中文字幕综合不卡一二区 | 国产成人综合高清在线观看 | 午夜DY888国产精品影院| 精品亚洲一区二区三区在线播放| 中文字幕人成乱码熟女APP| 日本无码人妻精品一区二区视频| 国产伊人自拍| AV福利无码亚洲网站麻豆| 无码专区无码专区视频网网址| 久久婷婷五月综合色丁香| 法国剧丝袜情版h级在线电影| 亚洲在线国产日韩欧美| 日本无码毛片一区二区手机看 | 好看的电影网站亚洲一区| 97人妻中文字幕免费视频| 午夜插插插| 魔乳 堕乳漫画acg产卵| 国产在线精品亚洲视频在线| www.av日韩| 正在播放黑人杂交派对卧槽| 天海翼精品久久中文字幕| 美女被爆插| 精品国产99久久久久久麻豆| 成人网视频在线观看免费| 在线播放真实国产乱子伦| 特大黑人娇小亚洲女mp4| 男人j进女人j一进一出| 好男人视频免费高清在线观看www| yellow日本动漫观看免费| 伊人AV一区二区三区夜色撩人| 色综合伊人色综合网站| 男女免费观看在线爽爽爽视频| 精品人妻无码一区二区三区蜜桃臀 | 热思思| 蜜桃视频无码区在线观看| 黑人特黄AA完整性大片|