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

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

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

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

setup/hold的概念

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-25 10:09 ? 次閱讀

如果你參加過(guò)IC校招面試,自然會(huì)被問(wèn)到“setup/hold的概念,以及setup/hold違例怎么辦?”

這時(shí)候,你肯定會(huì)立馬在腦海中從打拍或者插buffer兩個(gè)答案中選一個(gè)。但是在實(shí)際項(xiàng)目中,往往沒(méi)有這么簡(jiǎn)單。舉一個(gè)實(shí)際的場(chǎng)景:

5bf7b42c-0ae6-11ed-ba43-dac502259ad0.png

AXI master和AXI slave這一簇信號(hào)出現(xiàn)setup時(shí)序違例怎么辦?

1、從AXI master 到AXI slave 出現(xiàn)setup違例;

2、從AXI slave 到AXI master出現(xiàn)setup違例;

3、兩者都出現(xiàn)setup時(shí)序違例。

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

Forward Registered :對(duì)valid和payload路打拍

Backward Registered :對(duì)ready路打拍

Fully Registered :同時(shí)對(duì)valid/payload路和ready路打拍

Pass Through Mode:Bypass,均不打拍

這個(gè)問(wèn)題沒(méi)那么容易或者說(shuō)不能夠直接打拍,是因?yàn)檫@一簇信號(hào)遵循valid-ready協(xié)議,需要打拍的信號(hào)間存在時(shí)序的耦合

所以問(wèn)題就簡(jiǎn)化成如何在遵循valid -ready協(xié)議的master和slave 之間完成“打拍”,或者說(shuō)在打拍的同時(shí)處理valid-ready協(xié)議。

Forward Registered

5c140fc8-0ae6-11ed-ba43-dac502259ad0.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

5c2e0ed2-0ae6-11ed-ba43-dac502259ad0.png

現(xiàn)在來(lái)分析下上述Forward Registered 打拍代碼的幾個(gè)輸出端口

valid_dst:在master發(fā)請(qǐng)求(拉高valid_src)時(shí)拉高valid_dst,直到當(dāng)前master沒(méi)有valid請(qǐng)求并且slave可以接收請(qǐng)求(拉高ready_dst)時(shí)拉低valid_dst,表示一次傳輸完成。

payload_dst:在master發(fā)請(qǐng)求(拉高valid_src),并且前面沒(méi)有請(qǐng)求、請(qǐng)求已經(jīng)被接收或者正在被接收時(shí)將payload_src打拍賦給payload_dst。

其實(shí)master本身也會(huì)遵循valid-ready協(xié)議,payload_src和valid_src做同樣處理就行,即也可以在(valid_src == 1'd1 && ready_src == 1'd0)時(shí)進(jìn)行賦值,因?yàn)榇藭r(shí)payload_src輸入應(yīng)該約束保持原始數(shù)據(jù)。

ready_src:register slice或者slave可以接收數(shù)據(jù)時(shí)拉高ready_src.

Backward Registered

5c4b1df6-0ae6-11ed-ba43-dac502259ad0.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 會(huì)復(fù)雜點(diǎn),因?yàn)榇嬖趕lave沒(méi)有ready時(shí)master發(fā)來(lái)請(qǐng)求,需要暫存payload的場(chǎng)景。

5c5c301e-0ae6-11ed-ba43-dac502259ad0.png

現(xiàn)在來(lái)分析下上述Backward Registered打拍代碼的幾個(gè)輸出端口:

ready_src:對(duì)ready通路直接進(jìn)行打拍。

valid_dst:當(dāng)slave沒(méi)有ready,master發(fā)來(lái)請(qǐng)求時(shí)拉高標(biāo)志位valid_tmp0,表示下一次slave準(zhǔn)備好之后應(yīng)該從register slice內(nèi)暫存的payload拿數(shù)據(jù)

payload_dst:當(dāng)slave沒(méi)有ready,master發(fā)來(lái)請(qǐng)求時(shí)暫存payload到payload_tmp。最終的payload_dst根據(jù)標(biāo)志位valid_tmp0從payload_tmp和payload_src之間選擇

Fully Registered

類(lèi)似于,簡(jiǎn)單理解就是個(gè)乒乓BUFFER,使用非空信號(hào)做valid_dst;payload的非滿(mǎn)信號(hào)做ready_src

Pass Through Mode

直接相連

通過(guò)上述分析,可以使用register slice mode參數(shù)化的庫(kù),在后端要求AXI BUS打拍時(shí)直接調(diào)用,而無(wú)需重復(fù)造輪子。

原文標(biāo)題:打拍優(yōu)化時(shí)序不像聽(tīng)起來(lái)那么簡(jiǎn)單

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭靜

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

    關(guān)注

    8

    文章

    7237

    瀏覽量

    90916
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    397

    瀏覽量

    37748
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4886

    瀏覽量

    70186
  • Setup
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    12169

原文標(biāo)題:打拍優(yōu)化時(shí)序不像聽(tīng)起來(lái)那么簡(jiǎn)單

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    Setup/Hold Time Problem

    Setup/Hold Time ProblemConclusionIf the Setup/Hold time error happen on the Input Register (
    發(fā)表于 09-11 09:23

    【FPGA經(jīng)典試題】電路模塊的setup-time和hold-time是正值還是負(fù)值

    請(qǐng)問(wèn):a.對(duì)于一個(gè)D-FF 而言,它的setup-time 和hold-time 是正值還是負(fù)值?為什么?b.對(duì)于一個(gè)電路模塊(包括多個(gè)組合邏輯子模塊及時(shí)序邏輯子模塊)而言,它
    發(fā)表于 03-15 10:41

    解釋下setuphold time

    本帖最后由 gk320830 于 2015-3-5 18:27 編輯 setup/hold time 是測(cè)試芯片對(duì)輸入信號(hào)和時(shí)鐘信號(hào)之間的時(shí)間要求。建立時(shí)間是指觸發(fā)器的時(shí)鐘信號(hào)上升沿到來(lái)以前,數(shù)據(jù)穩(wěn)定不變的時(shí)間。保持時(shí)間是指觸發(fā)器的時(shí)鐘信號(hào)上升沿到來(lái)以后,數(shù)據(jù)穩(wěn)定不
    發(fā)表于 04-12 16:40

    請(qǐng)問(wèn)AD80370中hold up time為負(fù)值是為什么?

    在AD80370的datasheet里面有SYSREF± Setup and Hold Timing 這個(gè)時(shí)序圖,但是為什么圖中標(biāo)示的holdup time是負(fù)值,如果這樣的話那device
    發(fā)表于 10-09 16:09

    什么是SetupHold時(shí)間

    什么是SetupHold時(shí)間?答:Setup/Hold Time 用于測(cè)試芯片對(duì)輸入信號(hào)和時(shí)鐘信號(hào)之間的時(shí)間要求。建立時(shí)間(Setup T
    發(fā)表于 12-21 07:39

    怎么解釋setup time和hold time的定義和在時(shí)鐘信號(hào)延遲時(shí)的變化呢?

    怎么解釋setup time和hold time的定義和在時(shí)鐘信號(hào)延遲時(shí)的變化呢?
    發(fā)表于 05-10 11:46

    Sample Hold Has Zero Droop and

    Sample Hold Has Zero Droop and Infinite Hold
    發(fā)表于 04-18 20:33 ?24次下載

    建立時(shí)間和保持時(shí)間(setup time 和 hold time)

    建立時(shí)間和保持時(shí)間貫穿了整個(gè)時(shí)序分析過(guò)程。只要涉及到同步時(shí)序電路,那么必然有上升沿、下降沿采樣,那么無(wú)法避免setup-time 和 hold-time這兩個(gè)概念。 1. 什么是setup
    發(fā)表于 02-08 14:48 ?6448次閱讀

    對(duì)于時(shí)序分析基本概念setuphold的介紹

    低電平時(shí),T1和T4導(dǎo)通,此時(shí)數(shù)據(jù)進(jìn)入到`D,因?yàn)榇藭r(shí)T4導(dǎo)通,由于一對(duì)反相器形成雙穩(wěn)態(tài)結(jié)構(gòu),圖中綠色箭頭線中的數(shù)據(jù)保持上一拍的數(shù)據(jù)結(jié)果。
    的頭像 發(fā)表于 04-16 10:34 ?1.4w次閱讀
    對(duì)于時(shí)序分析基本<b class='flag-5'>概念</b><b class='flag-5'>setup</b>和<b class='flag-5'>hold</b>的介紹

    關(guān)于打拍優(yōu)化時(shí)序你真的全面了解嗎?

    如果你參加過(guò)IC校招面試,自然會(huì)被問(wèn)到“setup/hold概念,以及setup/hold違例怎么辦?”
    的頭像 發(fā)表于 04-27 14:15 ?4883次閱讀
    關(guān)于打拍優(yōu)化時(shí)序你真的全面了解嗎?

    什么是Setup和Holdup時(shí)間?如何解決亞穩(wěn)態(tài)?

    Setup/hold time 是測(cè)試芯片對(duì)輸入信號(hào)和時(shí)鐘信號(hào)之間的時(shí)間要求。
    的頭像 發(fā)表于 06-21 15:13 ?1.4w次閱讀
    什么是<b class='flag-5'>Setup</b>和Holdup時(shí)間?如何解決亞穩(wěn)態(tài)?

    為什么setup檢查下一個(gè)沿而hold檢查當(dāng)前沿

    做數(shù)字電路設(shè)計(jì)的可能都見(jiàn)過(guò)圖一所示的setuphold時(shí)間檢查,從圖中可以明顯看出,setup time檢查下一個(gè)沿,而hold time檢查同一個(gè)沿。那么這是為什么呢 ?
    的頭像 發(fā)表于 11-21 10:30 ?5247次閱讀

    怎么解決解決Hold Time違例的問(wèn)題呢

    在Place Design之后再去看Hold Time,如果此時(shí)Hold Time的違例比較小(比如-0.05ns),還是不需要理會(huì)的
    的頭像 發(fā)表于 01-11 09:05 ?4490次閱讀

    通過(guò)解剖一個(gè)邊沿觸發(fā)器簡(jiǎn)要說(shuō)明setuphold產(chǎn)生原因

    在后仿真過(guò)程中經(jīng)常會(huì)遇到關(guān)于setuphold violation的問(wèn)題,但是關(guān)于setuphold time的產(chǎn)生原因和由來(lái)很多人還比較朦朧,為此本文通過(guò)解剖一個(gè)邊沿觸發(fā)器簡(jiǎn)要說(shuō)
    的頭像 發(fā)表于 07-04 09:32 ?2192次閱讀
    通過(guò)解剖一個(gè)邊沿觸發(fā)器簡(jiǎn)要說(shuō)明<b class='flag-5'>setup</b>和<b class='flag-5'>hold</b>產(chǎn)生原因

    什么是SetupHold時(shí)間?

    什么是SetupHold時(shí)間? SetupHold時(shí)間是數(shù)字電路中一種時(shí)序要求,用于確保穩(wěn)定的數(shù)據(jù)傳輸和正確的電路操作。 在數(shù)字電路中,數(shù)據(jù)的傳輸需要遵循一定的時(shí)間要求。
    的頭像 發(fā)表于 11-17 14:11 ?2599次閱讀