女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

關于打拍優化時序你真的全面了解嗎?

FPGA之家 ? 來源:CSDN技術社區 ? 作者:數字芯片實驗室 ? 2021-04-27 14:15 ? 次閱讀

如果你參加過IC校招面試,自然會被問到“setup/hold的概念,以及setup/hold違例怎么辦?”

這時候,你肯定會立馬在腦海中從打拍或者插buffer兩個答案中選一個。但是在實際項目中,往往沒有這么簡單。舉一個實際的場景:

2d1e480e-a67f-11eb-aece-12bb97331649.png

AXI master和AXI slave這一簇信號出現setup時序違例怎么辦?

1、從AXI master 到AXI slave 出現setup違例;

2、從AXI slave 到AXI master出現setup違例;

3、兩者都出現setup時序違例。

所以AXI master和AXI slave之間的打拍會存在4中模式:

Forward Registered :對valid和payload路打拍

Backward Registered :對ready路打拍

Fully Registered :同時對valid/payload路和ready路打拍

Pass Through Mode:Bypass,均不打拍

這個問題沒那么容易或者說不能夠直接打拍,是因為這一簇信號遵循valid-ready協議,需要打拍的信號間存在時序的耦合

所以問題就簡化成如何在遵循valid -ready協議的master和slave 之間完成“打拍”,或者說在打拍的同時處理valid-ready協議。

Forward Registered

2d2f1292-a67f-11eb-aece-12bb97331649.png

always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) valid_dst 《= 1’d0; else if (valid_src == 1‘d1) valid_dst 《= #`DLY 1’d1; else if (ready_dst == 1‘d1) valid_dst 《= #`DLY 1’d0;end always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) payload_dst 《= ’d0; else if (valid_src == 1‘d1 && ready_src == 1’d1) payload_dst 《= #`DLY payload_src;end ready_src = (~valid_dst) | ready_dst

2e3ed10e-a67f-11eb-aece-12bb97331649.png

現在來分析下上述Forward Registered 打拍代碼的幾個輸出端口

valid_dst:在master發請求(拉高valid_src)時拉高valid_dst,直到當前master沒有valid請求并且slave可以接收請求(拉高ready_dst)時拉低valid_dst,表示一次傳輸完成。

payload_dst:在master發請求(拉高valid_src),并且前面沒有請求、請求已經被接收或者正在被接收時將payload_src打拍賦給payload_dst。

其實master本身也會遵循valid-ready協議,payload_src和valid_src做同樣處理就行,即也可以在(valid_src == 1‘d1 && ready_src == 1’d0)時進行賦值,因為此時payload_src輸入應該約束保持原始數據。

ready_src:register slice或者slave可以接收數據時拉高ready_src.

Backward Registered

2e49a4b2-a67f-11eb-aece-12bb97331649.png

always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) valid_tmp0 《= 1’d0; else if (valid_src == 1‘d1 && ready_dst == 1’d0 &&valid_tmp0 == 1‘d0) valid_tmp0 《= #`DLY 1’d1; else if (ready_dst == 1‘d1) valid_tmp0 《= #`DLY 1’d0;end always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) payload_tmp0 《= ’d0; else if (valid_src == 1‘d1 && ready_dst == 1’d0 &&valid_tmp0 == 1‘d0) payload_tmp0 《= #`DLY payload_src;end assign payload_dst = (valid_tmp0 == 1’d1) ?payload_tmp0 : payload_src; always @(posedge clk or negedge rst_n)begin if (rst_n == 1‘d0) ready_src 《= 1’d0; else ready_src 《= #`DLY ready_dst;end

Backward Registered 打拍相比較Forward Registered 會復雜點,因為存在slave沒有ready時master發來請求,需要暫存payload的場景。

2e73e8d0-a67f-11eb-aece-12bb97331649.png

現在來分析下上述Backward Registered打拍代碼的幾個輸出端口:

ready_src:對ready通路直接進行打拍。

valid_dst:當slave沒有ready,master發來請求時拉高標志位valid_tmp0,表示下一次slave準備好之后應該從register slice內暫存的payload拿數據

payload_dst:當slave沒有ready,master發來請求時暫存payload到payload_tmp。最終的payload_dst根據標志位valid_tmp0從payload_tmp和payload_src之間選擇

Fully Registered

類似于,簡單理解就是個乒乓BUFFER,使用非空信號做valid_dst;payload的非滿信號做ready_src

Pass Through Mode

直接相連

通過上述分析,可以使用register slice mode參數化的庫,在后端要求AXI BUS打拍時直接調用,而無需重復造輪子。
編輯:lyn

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

    關注

    36

    文章

    6097

    瀏覽量

    178425
  • 時序
    +關注

    關注

    5

    文章

    397

    瀏覽量

    37790
  • Setup
    +關注

    關注

    0

    文章

    30

    瀏覽量

    12183
  • MASTER
    +關注

    關注

    0

    文章

    106

    瀏覽量

    11611

原文標題:打拍優化時序不像聽起來那么簡單

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    EMI電源濾波器:真的了解它嗎?

    在我們生活的電子化時代,各種電子設備層出不窮,從日常的手機、電腦,到工業領域的自動化設備,都離不開穩定的電源供應。但知道嗎,電源中隱藏著一個“隱形守護者”——EMI電源濾波器,它究竟是什么,又有
    的頭像 發表于 05-28 18:50 ?112次閱讀

    充電接口真的了解嗎?

    USB(Universal Serial Bus,通用串行總線)自1994年誕生以來,已成為我們日常生活中不可或缺的接口標準。從鍵盤、鼠標到手機、充電寶,USB接口無處不在。但知道USB接口也有
    的頭像 發表于 05-18 17:39 ?177次閱讀

    AXI握手時序優化—pipeline緩沖器

    /prdy或者valid-ready或AXI)中Valid及data打拍技巧?;只關心ready時序修復可以參考同作者這篇文章鏈接:?(AXI)握手協議(pvld/prdy或者valid-ready)中
    的頭像 發表于 03-08 17:10 ?472次閱讀
    AXI握手<b class='flag-5'>時序</b><b class='flag-5'>優化</b>—pipeline緩沖器

    真的了解M12接頭A和D嗎?選型前必知的區別要點

    只有深入了解M12接頭A和D在各方面的區別,才能在選型時做到精準無誤,確保電氣連接系統高效、穩定運行。如果在選型過程中還有其他具體問題,歡迎隨時與我交流。
    的頭像 發表于 01-22 16:00 ?528次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>真的</b><b class='flag-5'>了解</b>M12接頭A和D嗎?選型前必知的區別要點

    關于SMT回流焊接,了解多少?

    設定焊接層數和厚度,以優化焊接質量。 2、設計考量 焊盤布局: 焊盤的形狀、尺寸和鍍層直接影響焊料流動,應基于元器件類型進行優化設計。 3、焊接環境 清潔標準: 確保PCB和元器件表面潔凈,以便焊料能
    發表于 01-15 09:44

    關于遠傳雙金屬溫度計真的了解嗎?

    溫度計
    jzyb
    發布于 :2024年12月13日 09:58:38

    關于磁通計了解多少?

    一、什么是磁通計 磁通計(flux meter)是一種采用電子(或數字)積分器測量感應電壓的儀器,可用于空間磁場測量和磁性材料研究。磁通計的基本原理基于法拉第電磁感應定律,通過測量線圈內磁通變化時
    的頭像 發表于 12-10 08:50 ?756次閱讀
    <b class='flag-5'>關于</b>磁通計<b class='flag-5'>你</b><b class='flag-5'>了解</b>多少?

    大功率電源EMC測試整改:從設計到測試的全面優化

    深圳南柯電子|大功率電源EMC測試整改:從設計到測試的全面優化
    的頭像 發表于 10-23 14:19 ?795次閱讀
    大功率電源EMC測試整改:從設計到測試的<b class='flag-5'>全面</b><b class='flag-5'>優化</b>

    了解TI基于PCB布線規則的DDR時序規范

    電子發燒友網站提供《了解TI基于PCB布線規則的DDR時序規范.pdf》資料免費下載
    發表于 10-15 11:47 ?3次下載
    <b class='flag-5'>了解</b>TI基于PCB布線規則的DDR<b class='flag-5'>時序</b>規范

    關于工廠人員定位,這幾點了解嗎?

    工廠人員定位可以實現人員實時定位、電子圍欄報警、歷史軌跡查詢、事故追溯等功能,那除了這些,工廠人員定位系統,還有哪些亮點功能,了解過嗎?下面詳述關于云酷科技工廠人員定位的特色功能。智能門禁聯防
    的頭像 發表于 09-18 10:16 ?490次閱讀

    求助,關于STM32H7 FMC模式1的NADV時序問題求解

    模式1中手冊上沒有寫關于NADV引腳的時序,但是cubemx生成的代碼有這個引腳。這個引腳的時序可以參考其它工作模式嗎?
    發表于 09-09 07:23

    鎖存器的基本輸出時序

    在深入探討鎖存器的輸出時序時,我們需要詳細分析鎖存器在不同控制信號下的行為表現,特別是控制信號(如使能信號E)的電平變化如何影響數據輸入(D)到輸出(Q)的傳輸過程。以下是對鎖存器輸出時序的詳細描述,旨在全面覆蓋其工作原理和
    的頭像 發表于 08-30 10:43 ?1037次閱讀

    認識貼片電阻嗎,對他了解多少?

    認識貼片電阻嗎,對他了解多少?
    的頭像 發表于 08-27 15:49 ?1059次閱讀
    <b class='flag-5'>你</b>認識貼片電阻嗎,<b class='flag-5'>你</b>對他<b class='flag-5'>了解</b>多少?

    優化 FPGA HLS 設計

    優化時序 下一步是使用名為InTime 的設計探索工具(https://www.plunify.com/en/free-evaluation/)。(同樣,可以自己編寫腳本來嘗試
    發表于 08-16 19:56

    OpenHarmony之開機優化

    一丶環境信息 源碼版本:OpenHarmony-4.1-Release 板子型號:dayu200(RK3568) 二丶Bootchart工具 在開機優化時,我們需要借助Bootchart工具,當前
    發表于 07-01 16:39