1.超時(shí)判斷機(jī)制
在設(shè)計(jì)中,為了增加異常處理能力,保證設(shè)備的正常運(yùn)行,常常需要進(jìn)行超時(shí)判斷。
如下圖,當(dāng)master發(fā)起mem讀請求后,收到讀返回?cái)?shù)據(jù)時(shí),進(jìn)行超時(shí)判斷,如果超時(shí),則數(shù)據(jù)丟棄,如果沒有超時(shí),則數(shù)據(jù)正常接收。
2.超時(shí)機(jī)制實(shí)現(xiàn)
如果在數(shù)據(jù)發(fā)送過程中,發(fā)送者向接收者發(fā)送數(shù)據(jù),通常需要接收者通知發(fā)送者自身是否可以接收數(shù)據(jù)
采用一個(gè)公共的32bit clk_cnt作為時(shí)間基準(zhǔn),根據(jù)不同的超時(shí)精度,采用32bit中的連續(xù)2bit,1GHz時(shí)鐘,每個(gè)周期1n,例如采用clk_cnt[20:19],可以記錄2^21ns級(jí)別的精度,即2ms級(jí)別的時(shí)間精度。
本文中master能夠發(fā)起256個(gè)outstanding(未完成)請求,req_id[7:0]從0到255,且工作時(shí)鐘clk為1Ghz,發(fā)起的mem讀請求,且在1us后都沒有收到數(shù)據(jù),則認(rèn)為超時(shí)。
步驟1:master發(fā)起mem_rd請求時(shí),以req_id作為地址,將clk_cnt[20:19]作為data,寫入256x2 1r1w_ram中。
步驟2:當(dāng)master收到讀返回?cái)?shù)據(jù)時(shí),以req_id作為地址從ram中讀取data,記作clk_cnt_record
步驟3:提取當(dāng)前時(shí)刻clk_cnt[20:19],記錄為clk_cnt_now,如果clk_cnt_now-clk_cnt_record 的絕對(duì)值大于1,則表示超時(shí)。
案例:
clk_cnt_record 為 10,clk_cnt_now為00,則表示超時(shí)。
clk_cnt_record 為 10,clk_cnt_now為11,則認(rèn)為不超時(shí)。

3.特點(diǎn)說明
優(yōu)點(diǎn):此類設(shè)計(jì)比較簡單,所需的邏輯資源較少,并且可以調(diào)節(jié)超時(shí)時(shí)間精度。
缺點(diǎn):
如果超時(shí)時(shí)間過長,已經(jīng)從clk_cnt_record翻轉(zhuǎn)了一圈再返回時(shí),則無法判斷是否為超時(shí)。即clk_cnt_record(10)-->11-->00-->01-->10-->11(clk_cnt_now),實(shí)際已超時(shí),但是判斷為沒有超時(shí)。
沒有讀返回?cái)?shù)據(jù)時(shí),無法判斷是否超時(shí)。
審核編輯:湯梓紅
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7335瀏覽量
94763 -
IC設(shè)計(jì)
+關(guān)注
關(guān)注
38文章
1373瀏覽量
108308 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1971瀏覽量
134990
原文標(biāo)題:IC設(shè)計(jì):一種簡單超時(shí)機(jī)制
文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
IC安全燒錄量產(chǎn)設(shè)計(jì)的一種機(jī)制
espconn_gethostbyname接口DNS解析超時(shí)機(jī)制要自己做嗎?
請問HAL庫的超時(shí)機(jī)制可以修改嗎?
Linux串口通信的超時(shí)機(jī)制
VxWorks共享看門狗定時(shí)機(jī)制該怎么設(shè)計(jì)?
怎樣去設(shè)計(jì)一種同步補(bǔ)償機(jī)制(CDCO算法)?
分享一個(gè)非常簡單的內(nèi)存數(shù)據(jù)庫
基于ARP緩存超時(shí)的中間人攻擊檢測方法
一種ad hoc網(wǎng)信任聲譽(yù)評(píng)估機(jī)制
基于公平心跳超時(shí)容錯(cuò)機(jī)制
IC設(shè)計(jì)知識(shí)點(diǎn):一種簡單超時(shí)機(jī)制
如何設(shè)計(jì)STM32嵌入式程序的超時(shí)機(jī)制?
STM32程序超時(shí)設(shè)計(jì)
影響報(bào)文超時(shí)上報(bào)的機(jī)制有哪些
IC設(shè)計(jì):一種簡單超時(shí)機(jī)制
評(píng)論