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

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

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

3天內不再提示

時序違例的修正與時序優化的思考方向

電子工程師 ? 來源:未知 ? 作者:工程師李察 ? 2018-09-15 08:23 ? 次閱讀

時序邏輯電路示意圖如下。前后兩級寄存器之間有一個組合邏輯運算電路。

時序違例的修正與時序優化的思考方向

假設寄存器的建立時間要求為tsetup, 保持時間要求為thold, 輸出延時為tcq(這些參數只要工藝庫或者器件確定了,就是確定的);組合邏輯電路的運算延時為tlogic; 兩級寄存器之間的clk線路延時為tclk_delay;clk的隨機抖動為tjitter;tcycle為時鐘周期。故電路必須滿足如下建立時間,保持時間要求:

tsetup_slack=tcycle-(tcq+tlogic) -tsetup+tclk_delay-tjitter>0

thold_slack=tcq+tlogic-thold-tclk_delay-tjitter>0

當tsetup_slack要求不滿足時,我們可以選擇增大tcycle。當然這就使得電路的整體時鐘頻率下降,從而速度下降。

從另一個角度考慮,我們可以通過減少tlogic來使得電路的建立時間裕量滿足要求。 達到這個目的,只有兩個辦法:

第一是優化,簡化組合邏輯電路,使得電路的延時下降。如果是ASIC設計,我們可以結合卡諾圖,布爾邏輯等式代換,狄摩根定律等去對邏輯電路盡量做到優化。如果是FPGA設計,我們可以結合FPGA器件的底層單元(例如查找表(LUT))的基本邏輯功能去做邏輯優化。

例如,在做ASIC的時候,要實現如下邏輯功能:

輸入 輸出
A C D B
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

經過卡諾圖化簡得到布爾表達式如下:

B=C’D+A’D+ACD’

還可以進一步化簡

B=C’D+A’D+ACD’=(A’+C’)D+ACD’=(AC)’D+ACD’=(AC)^D

最后發現只要一個與門,后面跟一個異或門就可以實現這個邏輯。

(1)所以我們在寫verilog的時候如果用門級電路去描述這個邏輯電路時:

assign B = (A&D)^D;

或者用結構化的方式去描述時:

and(AC,A,C);

xor(B,AC,D);

其綜合對應出來的電路便可能是最簡單的,當然這跟綜合庫有關。

(2)但是如果我們用行為級的方式去描述這個邏輯時,例如如下。

always @( * )

if( {A,C,D} == 3b001 || {A,C,D} == 3b011 || {A,C,D}==101 ||{A,C,D} == 3b110)

B = 1b1;

else

B = 0;

那么其綜合得到的電路就是不可控的了,雖然EDA工具會對其做優化。因此這樣綜合出來的電路如果不是最簡的,那么其延時就大。

所以在描述電路的時候,如果時序要求很高,最好要考慮邏輯化簡和器件適應。

第二種方式便是利用流水線技術,使得兩級寄存器之間組合邏輯電路的運算量減少,從而使得tlogic減少。

例如對于一個組合邏輯電路,其功能是實現8bit數的全加器。我們可以將其劃分成兩個4bit數的全加器。如下圖,原本是要實現兩個8bit數A[7:0],B[7:0],外加一個進位位c_in相加的,如下。

assign{c_out,sum[7:0]} =A[7:0] + B[7:0] +c_in ;

現在變成了前面一個全加器實現

assign {c_out1,sum1[3:0]} = A[3:0] + B[3:0] + c_in ;

后面一個全加器實現

assign{c_out,sum2[3:0]} = A[7:4] + B[7:4] + c_out1 ;

最后再將sum1,sum2合并得到sum,如下。

assign sum = {sum2,sum1};

時序違例的修正與時序優化的思考方向

第一個全加器算出{c_out1,sum1[3:0]} = A[3:0] + B[3:0] + c_in 之后,在時鐘有效沿到來時,將c_out1,sum1[3:0],A[7:4],B[7:4] 送到中間一級寄存器暫存;然后第二個電路做{c_out,sum2[3:0]} = A[7:4] + B[7:4] + c_out1 運算,并將結果sum1,sum2合并得到sum。這樣一來每兩級寄存器之間的全加器變成了4bit的全加器,電路延時肯定得到降低了。從而tlogic降低。

當然還可以進一步優化,使得流水級數更多。一般來說保持時間不會出現違例情況,因為寄存器的輸出延時tcq,一般要大于thold。如果出現違例,從式子

thold_slack=tcq+tlogic-thold-tclk_delay-tjitter>0

我們可以考慮適當增加tlogic,或者后端布局布線時去減少tclk_delay。

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

    關注

    13

    文章

    494

    瀏覽量

    42617
  • 寄存器
    +關注

    關注

    31

    文章

    5343

    瀏覽量

    120331
  • 時序
    +關注

    關注

    5

    文章

    387

    瀏覽量

    37330

原文標題:時序違例的修正與時序優化的思考方向

文章出處:【微信號:LF-FPGA,微信公眾號:小魚FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    優化高速接口的時序裕量

    本文將對源同步定時如何優化高速接口時序裕量進行討論。時序預算是對系統正常工作所需時序參數或時序要求的計算。
    發表于 03-20 10:46 ?2648次閱讀
    <b class='flag-5'>優化</b>高速接口的<b class='flag-5'>時序</b>裕量

    靜態時序的分析原理及詳細過程

    靜態時序分析是檢查IC系統時序是否滿足要求的主要手段。以往時序的驗證依賴于仿真,采用仿真的方法,覆蓋率跟所施加的激勵有關,有些時序違例會被忽
    的頭像 發表于 11-25 11:03 ?9955次閱讀
    靜態<b class='flag-5'>時序</b>的分析原理及詳細過程

    UltraFast設計方法時序收斂快捷參考指南

    資源利用率、邏輯層次和時序約束。 2時序基線設定:在每個實現步驟后檢查并解決時序違例,從而幫助布線后收斂時序。 3
    的頭像 發表于 11-05 15:10 ?5012次閱讀
    UltraFast設計方法<b class='flag-5'>時序</b>收斂快捷參考指南

    vivado:時序分析與約束優化

    能夠有一些時序問題,我們再通過時序分析的方法對它進行優化。我們這里把原本的100M時鐘改成了200M時鐘,具體步驟如下: 一:更改時鐘之后進行綜合,并打開timing analysis 二:通過
    發表于 08-22 11:45

    出現時序違例的原因及解決辦法

      如果出現了時序違例,我們會關注兩點:  為什么會出現時序違例?  如何解決?  首先我們要搞清楚時序是在哪個階段
    發表于 01-08 17:10

    時序約束與時序分析 ppt教程

    時序約束與時序分析 ppt教程 本章概要:時序約束與時序分析基礎常用時序概念QuartusII中的時序
    發表于 05-17 16:08 ?0次下載

    后端時序修正基本思路

    后端時序修正基本思路,后端對時序的影響從0.18開始,在整體影響中的比重也在隨著工藝的變化而變得敏感。
    發表于 10-26 09:28 ?2927次閱讀
    后端<b class='flag-5'>時序</b><b class='flag-5'>修正</b>基本思路

    基于FPGA時序優化設計

    現有的工具和技術可幫助您有效地實現時序性能目標。當您的FPGA 設計無法滿足時序性能目標時,其原因可能并不明顯。解決方案不僅取決于FPGA 實現工具為滿足時序要求而優化設計的能力,還取
    發表于 11-18 04:32 ?3315次閱讀

    時序約束的步驟分析

    FPGA中的時序問題是一個比較重要的問題,時序違例,尤其喜歡在資源利用率較高、時鐘頻率較高或者是位寬較寬的情況下出現。建立時間和保持時間是FPGA時序約束中兩個最基本的概念,同樣在芯片
    的頭像 發表于 12-23 07:01 ?2156次閱讀
    <b class='flag-5'>時序</b>約束的步驟分析

    如何閱讀時序報告?

    生成時序報告后,如何閱讀時序報告并從時序報告中發現導致時序違例的潛在問題是關鍵。 首先要看Design Timing Summary在這個
    的頭像 發表于 08-31 13:49 ?6301次閱讀
    如何閱讀<b class='flag-5'>時序</b>報告?

    一文知道時序路徑的構成

    更為具體的時序報告信息如何從中獲取,或者如何根據時序報告發現導致時序違例的潛在原因呢?
    的頭像 發表于 09-04 10:24 ?1808次閱讀

    Vivado時序案例分析之解脈沖寬度違例

    BY Hemang Divyakant Parikh 有多種類型的時序違例可歸類為脈沖寬度違例。 - 最大偏差違例(詳見 此處 ) - 最小周期違例
    的頭像 發表于 11-19 13:48 ?5622次閱讀
    Vivado<b class='flag-5'>時序</b>案例分析之解脈沖寬度<b class='flag-5'>違例</b>

    如何降低面積和功耗?如何優化電路時序?

    1、如何降低功耗? (1) 優化方向: 組合邏輯+時序邏輯+存儲 (2) 組合邏輯: ??(a)通過算法優化的方式減少門電路 ??(b)模塊復用、資源共享 (3)
    發表于 02-11 15:30 ?2次下載
    如何降低面積和功耗?如何<b class='flag-5'>優化</b>電路<b class='flag-5'>時序</b>?

    FPGA時序約束:如何查看具體錯誤的時序路徑

    ? ? 1、時序錯誤的影響 ? ? ? 一個設計的時序報告中,design run 時序有紅色,裕量(slack)為負數時,表示時序約束出現違例
    的頭像 發表于 03-17 03:25 ?1000次閱讀

    時序約束出現時序違例(Slack為負數),如何處理?

    時序約束出現時序違例(Slack為負數),如何處理?
    的頭像 發表于 07-10 15:47 ?5299次閱讀
    主站蜘蛛池模板: 欧美精品久久久久性色AV苍井| 国产色播视频在线观看| 最新亚洲中文字幕在线观看| 亚洲精品乱码一区二区三区 | 国产片MV在线观看| 国产成人永久免费视频| 纯h超级大尺度小黄文| 成年人视频免费在线播放| CHINA中国东北GURMA| 99re6久久热在线视频| 37大但人文艺术A级都市天气| 18禁三级黄| 99精品免费在线观看| asian4you裸模| 成人性生交大片免费看中文| 大胸美女被cao哭| 国产精品人妻无码久久久蜜桃臀| 国产精品黄色大片| 国语自产视频在线不卡| 娇妻让壮男弄的流白浆| 久久久96人妻无码精品蜜桃| 快播成电影人网址| 欧美v1deossexo高清| 日本孕妇大胆孕交| 我们日本在线观看免费动漫下载| 丫鬟粗大狠狠贯穿h| 伊人情涩网| 99热热在线精品久久| 俄罗斯女人Z0Z0极品| 国产精品综合AV一区二区国产馆| 黄页网址大全免费观看| 久欠热视频精品首页| 欧美亚洲日韩国产在线在线| 爽爽影院免费观看| 亚洲视频无码高清在线| 97精品国产高清在线看入口| 超碰人人澡人人胔| 国内2018年午夜福利5678| 麻豆AV久久AV盛宴AV| 色狼亚洲色图| 一二三四在线观看韩国|