每日學習:多時鐘域的設計和綜合技巧(一)

2021-02-19 大同學吧

作者稱謂:wonder

個人介紹:前瞻性的眼光,和持之以恆的學習

微信公眾號:數字晶片實驗室

純粹的單時鐘同步設計是一種奢望。大部分的ASIC設計都由多個異步時鐘驅動,並且對數據信號和控制信號都需要特殊的處理,以確保設計的魯棒性。

大多數學校的課程任務都是完全同步(單時鐘)的邏輯。在真正的ASIC設計領域,單時鐘設計非常少。

亞穩態

上圖顯示了在一個時鐘域中生成的信號被採樣時發生的同步故障,因為數據變化太接近另一個時鐘域的時鐘信號的上升沿

同步失敗是由於亞穩態在下一次採樣時還未收斂到穩定狀態引起的。下圖是亞穩態在整個設計中繼續傳播的事例

 

設計中使用的每個觸發器都具有指定的建立(時鐘上升沿之前數據必須保持不變)和保持(時鐘上升沿之後數據必須保持不變)時間。由建立和保持時間指定的時間窗口保證數據信號變化不會太接近時鐘信號的採樣時間,從而防止設計變成亞穩態。

同步器

同步器是對異步信號進行採樣並同步到採樣時鐘的模塊。

數字設計人員使用的最常見的同步器是兩級觸發器同步器,如下圖所示

 

第一個觸發器將異步輸入信號採樣到新的時鐘域並等待一個完整的時鐘周期,以使得階段1輸出信號上的亞穩態衰減。然後對階段1信號進行採樣進入階段2,此時階段2信號是一個穩定有效的信號,並且同步到了新的時鐘域。

理論上,在階段1信號被採樣時,也可能仍然是亞穩態,使得階段2信號也變為亞穩態。

平均故障間隔時間(MTBF)是包括用於產生數據和採樣數據的時鐘頻率等多個變量的函數。

對於大多數情況,兩個觸發器同步器足以消除所有可能的亞穩態。

 

靜態時序分析

靜態時序分析是驗證設計中的每個信號路徑是否滿足所需時序要求的過程。靜態時序分析不是用於驗證設計的功能,只驗證設計是否符合時序目標。從理論上講,時序驗證可以通過運行完備的布局布線之後的門級仿真來實現,其中利用SDF文件反標了實際的延時值。這通常被稱為動態時序驗證。

靜態時序分析與動態時序驗證相比有三個主要優點:(1)靜態時序分析工具可以驗證任何兩個時序器件之間的每條路徑,(2)靜態時序分析不需要生成任何測試向量,(3)靜態時序分析工具比動態時序驗證快幾個數量級。

 

對具有異步時鐘的模塊進行時序分析是不準確的,並且大部分都是毫無價值的,因為異步時鐘之間的時序關係總是在變化。因此,靜態時序分析工具必須檢查異步時鐘之間的無限數量的相位關係。

事實是,我們可以假設一個時鐘域傳遞到另一個時鐘域的信號總是會違反時序器件上的建立時間和保持時間。

這就是為什麼需要同步器來緩解信號從一個時鐘域傳遞到另一個時鐘域時亞穩態問題的原因。

對於具有兩個或更多異步時鐘的RTL模塊,設計人員需要通過「setting false paths」來指示靜態時序分析工具忽略從一個時鐘域到另一個時鐘域的信號路徑的時序檢查。

 

除非遵守接下來的指南,異步時鐘分析將會是一項單調乏味且容易出錯的工作。

時鐘命名約定

指南:使用時鐘命名約定來識別設計中每個信號的時鐘源。

原因:命名約定可幫助所有團隊成員識別設計中每個信號的時鐘域,還可以使用腳本中的正則表達式來對信號進行分組,以便更容易地進行時序分析。

每個設計團隊都有自己的時鐘命名約定。例如, uClk前綴標誌微處理器時鐘,vClk前綴標誌視頻時鐘,dClk前綴標誌顯示時鐘。

每個信號都與設計中的一個時鐘域同步,所以每個信號名稱必須包含一個標識該信號時鐘域的前綴字符。任何屬於uClk時鐘域的信號都會有u前綴,例如uaddr,udata,uwrite等。任何屬於vClk時鐘域的信號都會有一個v-prefix,例如vdata,vhsync,vframe等。設計中其他時鐘域中的信號命名都是用類似的方式命令。

命名約定對設計團隊的生產力有很大貢獻。使用這種技術,ASIC設計團隊的任何工程師都可以輕鬆識別任何時鐘域的信號,因此設計團隊中存在更少的混淆。

設計劃分

指南:每個模塊只允許一個時鐘。

原因:在單時鐘模塊上更容易實現靜態時序分析和創建綜合腳本。

 

指南:為從一個時鐘域傳遞到另一個時鐘域的每組信號創建一個同步器模塊。

原因:信號從一個時鐘域傳遞到另一個時鐘域都會有建立時間和保持時間的問題。

 

綜合腳本和時序分析

遵循之前的準則,只允許每個模塊只有一個時鐘驅動,進入異步時鐘域的信號都需要經過同步器同步。

這時,多時鐘域的綜合現在變成了時序路徑分組問題,識別false path然後執行最小-最大時序分析。

 

分組

將所有非同步器模塊根據時鐘域進行分組。每個時鐘域內的邏輯都是同步設計。

識別false path

通常,只有同步器模塊的輸入需要"set_false_path"命令。如果時鐘前綴使用了前面的命名方案,然後可用通配符輕鬆地識別所有異步輸入。

例如,sync_u2v 模塊的所有輸入應以字母"u"開頭的。以下 dc_shell 命令足以設置時序分析中的相關虛假路徑:

set_false_path-from { u* }


 

執行最小-最大時序分析

每個時鐘域的模塊現在都是一個完全同步的設計。Design Compiler或 Prime Time等工具,可用於執行最小-最大時序分析,驗證setup time和hold time時序是否為例。

 

參考資料

《Synthesis and Scripting Techniques for Designing MultiAsynchronous ClockDesigns》

大同學吧,是全國100+重點高校IT電子類等理工科大學生都在關注的校招、內推、實習的求職服務平臺,提供海量網際網路及半導體行業實習、校招等招聘信息,免費分享面經筆經、求職內推、行業乾貨,助力學子順利拿下理想offer!!我們歡迎任何形式的合作,發布招聘信息,請添加微信號:lgsdt188。

每日學習1個新知識,讓好的習慣成就更優秀的你!

相關焦點

  • FPGA設計小技巧(時鐘/性能/編程)
    打開APP FPGA設計小技巧(時鐘/性能/編程) FPGA技術聯盟 發表於 2020-12-11 10:26:44 FPGA儘量採取同步設計,也就是所有時鐘都是同一個源頭,如果使用兩個沒有相位關係的異步時鐘,必須要解決跨時鐘域問題。 性能篇 邏輯級的時延不要超過時序預算的百分之五十,否則會影響系統的運行頻率。可以通過分析時序報告中某個路徑的時序統計量來掌握系統的邏輯級時延。
  • 多比特信號跨時鐘域握手方案
    跨時鐘域的握手設計就是利用握手控制這種優勢,從而避免因為跨時鐘域引起的數據傳輸錯誤。多比特跨時鐘域握手接口圖1是多比特跨時鐘域的接口設計。接口上看它有:兩組時鐘復位信號輸入,(clk1,rst1) 和 (clk2,rst2)兩組握手信號,(valid1,ready1)和(valid2,ready2)兩路數據信號,(data1輸入)和(data2輸出)多比特跨時鐘域握手設計方案一方案一和本文在第一部分講的設備1和設備2通信的順序是一樣的。接口時序
  • XDC約束技巧——時鐘篇
    Xilinx的新一代設計套件Vivado中引入了全新的約束文件XDC,在很多規則和技巧上都跟上一代產品ISE 中支持的UCF 大不相同,給使用者帶來許多額外挑戰。Xilinx 工具專家告訴你,其實用好XDC 很容易,只需掌握幾點核心技巧,並且時刻牢記:XDC 的語法其實就是Tcl 語言。
  • 每日學習:深度好文 | 一個考慮了Scan、Boundary Scan、分頻時鐘、門控時鐘的CTS的分析設計示例(含腳本)
    >個人介紹: 愛生活愛分享,更愛探索IC設計的美微信公眾號:集成電路設計及EDA教程在研究生階段學習了一些DFT的東西,在自己的設計中做了DFT:Scan、Boundary Scan,由於當時沒有安裝Tessent,工藝比較新,不支持以前的mbistarchitecture,因此沒法做mbist;設計中有一個主時鐘它的2分頻時鐘,此外還有DFT的時鐘
  • 數字設計中的時鐘與約束
    對於系統要求非常嚴格的,比如時鐘切換很頻繁,有不能夠在復位的時候切換,而且也不允許有短暫的錯誤,那麼時鐘就不能這樣子進行切換了,就要使用其他的時鐘切換方案或者進行時鐘同步了。至於多時鐘切換的方案,以後有時間再學習補充。 門控時鐘可是低功耗設計的寵兒,關於門控時鐘的資料也有一大堆,下面就來寫寫門控時鐘吧。
  • FPGA/CPLD設計小技巧
    這是一個在設計中常犯的錯誤列表這些錯誤常使得你的設計不可靠或速度較慢為了提高你的設計性能和提高速度的可靠性你必須確定你的設計通過所有的這些檢查 。對於一個純同步設計建議你在任何可能的情況下只使用一個時鐘不要在內部產生異步的控制信號 例如復位信號或者置位信號內部產生的異步控制信號會產生毛刺作為替代可以產生一個同步的復位/置位信號這個信號的解碼要比需要作用的時刻提前一個時鐘周期不要使用沒有相位關係的多個時鐘你也許並不總能避免這個條件在這些情況下確定你已使用了適當的同步電路來跨越時鐘域
  • 乾貨| 從彙編、C語言到FPGA,總結出這「三多」一個也不能少!
    後來讀研究生,工作陸陸續續也用過Quartus II、FoundaTIon、ISE、Libero,並且學習了verilogHDL語言,學習的過程中也慢慢體會到verilog的妙用,原來一小段語言就能完成複雜的原理圖設計,而且語言的移植性可操作性比原理圖設計強很多。
  • FPGA+DSP導引頭信號處理中FPGA設計關鍵技術
    設計者需要了解可靠的設計技巧,以減少電路在跨時鐘域通信時的故障風險。  從事多時鐘設計的第一步是要理解信號穩定性問題。當一個信號跨越某個時鐘域時.對新時鐘域的電路來說它就是一個異步信號。接收該信號的電路需要對其進行同步。同步可以防止第一級存儲單元(觸發器)的亞穩態在新的時鐘域裡傳播蔓延。
  • ASIC設計的這些問題不可忽視
    本文引用地址:http://www.eepw.com.cn/article/201807/384725.htm一.基本的ASIC設計流程ASIC設計流程可以粗分為前端設計和後端設計,如果需要更細的劃分,可以分成如下幾個步驟:1.包括系統結構分析設計、RTL編碼以及功能驗證;2.邏輯綜合
  • 基於單片機旋轉時鐘的設計
    摘要:目前,社會、家庭普遍使用的是機械錶盤時鐘,而一款打破傳統的電子旋轉時鐘如果推出就能夠以其新穎的創意來吸引人們,於是文章就研究並設計了一個基於單片機的電子旋轉時鐘。而一款旋轉時鐘不僅在創意上擺脫了傳統時鐘的設計而且也能迎合人們獵奇的心理,並且功能也可以多樣化,不僅可以顯示時間、日期,甚至連文字都能夠顯示。文章基於單片機設計了一款跟傳統機械時鐘一樣具有秒針、分針、時針和錶盤刻度的旋轉時鐘,並且具有準確顯示即時時間和校準時間功能,且均可由紅外遙控器方便完成。
  • 採用CyClockWizard軟體實現系統設計和時鐘管理
    時鐘是幾乎所有電子系統的心臟,而時鐘管理則是整體系統設計的重要組成部分。由於時鐘準確性、穩定性和整體信號質量都會影響系統性能,因此選擇可滿足應用設計需求的適當計時解決方案是至關重要的。
  • Altera FPGA/CPLD設計 基礎篇+高級篇(附隨書光碟)
    本書結合作者多年工作經驗,深入地討論了Altera FPGA/CPLD的設計、優化技巧。在討論FPGA/CPLD設計指導原則的基礎上,介紹了Altera器件的高級應用;引領讀者學習邏輯鎖定設計工具,詳細討論了時序約束與靜態時序分析方法;結合實例討論如何進行設計優化,介紹了Altera的可編程器件的高級設計工具與系統級設計技巧。
  • FPGA邏輯設計回顧(5)多比特信號的CDC處理方式之MUX同步器
    本篇承接上一篇文章,和單比特有點關係,但是是一種處理多比特信號的跨時鐘域方法,MUX同步器!一起來看看吧。這裡有一個小請求,博主參加了今年進行csdn年度之星的評選,期待你的一票,這裡謝過各位了,投票連結:https://bss.csdn.net/m/topic/blog_star2020/detail?
  • word域應用技巧:域在排版中的實際應用
    對於一直關注我們的小夥伴來說,Word域的基本操作技巧應該已不再陌生,畢竟前面幾篇文章已介紹過很多與域相關的知識。那麼,今天小編將通過案例給大家介紹Word域在排版中的使用方法,希望能夠幫助到大家提高排版效率。案例一: 利用Word域,設置雙欄頁碼在文檔排版過程中,有時需要在一個雙欄的頁面中添加兩個頁碼。即一頁面中含有兩個頁碼,如下圖所示。
  • word域應用技巧:域在排版中的實際應用
    對於一直關注我們的小夥伴來說,Word域的基本操作技巧應該已不再陌生,畢竟前面幾篇文章已介紹過很多與域相關的知識那麼,今天小編將通過案例給大家介紹Word域在排版中的使用方法,希望能夠幫助到大家提高排版效率。案例一: 利用Word域,設置雙欄頁碼在文檔排版過程中,有時需要在一個雙欄的頁面中添加兩個頁碼。即一頁面中含有兩個頁碼,如下圖所示。
  • 桌面時鐘,一款時間管理類的寶藏APP
    翻頁桌面時鐘,是一款時間管理類的寶藏APP,擁有極簡且實用的翻頁時鐘功能,自帶勵志語錄,並且擁有白噪音、番茄鍾專注、正計時、倒計時、數據統計功能,能幫助你更加專注工作學習,養成好習慣的效率工具。翻頁桌面時鐘更是一款超勵志且個性化的桌面時鐘,擁有各種酷炫的主題及動畫背景、字體效果、時鐘樣式等,更支持自己上傳背景圖片,編輯勵志語錄,讓你在感受時間流逝的同時激勵自己不斷向上!
  • 電巢學堂:ASIC設計中各個階段需要注意的問題
    2.結構分析設計、RTL編碼這一階段在整個ASIC設計中佔非常重要的地位,結構分析設計階段主要是從產品的功能定義出發,對產品採用的工藝、功耗、面積、性能以及代價進行初步的評估,從而制定相應的設計規劃,對於規模很大的ASIC設計,在這一階段估算晶片的功耗面積非常困難。
  • 冗餘時鐘的平滑時鐘切換——電子設計
    動態時鐘切換與基於DCXO的時鐘切換的對比  基於PLL的動態時鐘切換是一種切實可行的時鐘切換方式,這種操作方式可實現時鐘之間的平滑切換。在時鐘切換期內,會有單位周期相位校正(PCC)填入(或消除)母參考時鐘和子參考時鐘之間的相位差。母時鐘源和子時鐘源之間可能存在較大的相位誤差,這會造成在切換時間不夠長的情況下輸出時鐘出現較大相位衝突。
  • 線上學習|趣味數學:認識時鐘
    趣味數學—認識時鐘溪北洋新區一小   鍾思思適用年級:小學低中年級3.幫助學生初步建立時間觀念,養成遵守時間的好習慣。