五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

數(shù)字IC手撕代碼-握手信號(READY-VALID)

2022-04-22 21:29 作者:不吃蔥的酸菜魚  | 我要投稿

????????大家好我是酸菜魚,這個系列著重講解數(shù)字ic或FPGA實習(xí)面試及秋招面試的高頻手撕代碼題。

往期專欄:

數(shù)字ic手撕代碼-導(dǎo)覽目錄 - 嗶哩嗶哩 (bilibili.com)

數(shù)字ic手撕代碼-格雷碼的編碼與解碼 - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-序列檢測(移位寄存器寫法) - 嗶哩嗶哩 (bilibili.com)

專欄眾多,不一一列舉,詳情請看導(dǎo)覽目錄...?


本文講同步時鐘下的數(shù)據(jù)握手,用于前后模塊的數(shù)據(jù)交互。

握手信號

握手信號,就是為了模塊之間的數(shù)據(jù)交互正確才衍生出來的信號。其無非就是三種可能

一、上游master提供的valid 信號隨數(shù)據(jù)一起拉高,但下游slave過一段時間才準(zhǔn)備好的valid先高為敬。

我valid先高為敬

、下游slave一直準(zhǔn)備好,但上游數(shù)據(jù)過段時間才有效的ready先高為敬。

我ready先高為敬

三、上游master的valid信號和下游slave的ready同時為高。

ready-valid同時為高

????????當(dāng)初up第一次接觸握手信號的時候,其實是很清楚上面的三條握手原則的,但是具體的,master和slave之間的握手信號該怎么寫代碼卻迷迷糊糊。就利用這篇文章簡單的講一下master和slave之間是怎么通過握手信號來解決數(shù)據(jù)交互問題的。同時也為下一篇文章《多級流水線握手》打下基礎(chǔ)。下一篇文章會講解如何利用握手信號,解決流水線因為上流斷流及下游反壓導(dǎo)致的流水線停滯問題。
??
??????好,回到本篇文章來。

????????對于master來說,master發(fā)出一個數(shù)據(jù),如果數(shù)據(jù)有效,master就會把傳送給slave的valid信號拉高,即告訴slave數(shù)據(jù)有效可以接收!如果slave準(zhǔn)備好了,slave就把傳送給master的ready信號拉高,告訴master我準(zhǔn)備好了,如果你數(shù)據(jù)有效,我就可以接收!所以當(dāng)master傳輸?shù)臄?shù)據(jù)有效,且slave也準(zhǔn)備好時,數(shù)據(jù)就會在下一個周期被slave取走,master可以接著傳下一個數(shù)據(jù)。

????????對于你寫的模塊來說,如果要跟上下做數(shù)據(jù)握手,那么對于上游,你是一個slave,對于下游,你又是一個master了,所以接口應(yīng)該如下:

接口解釋:

????????data_i為輸入的數(shù)據(jù),如果valid_i為1,則數(shù)據(jù)有效,ready_o是slave發(fā)送給上游master的準(zhǔn)備信號,如果ready_o準(zhǔn)備好了,則為1。

????????data_o為該模塊輸出給下游的數(shù)據(jù),如果輸出的數(shù)據(jù)有效,則valid_o為1。下游也會有準(zhǔn)備好和沒準(zhǔn)備好的時候,所以還需要一個下游提供給本模塊的ready_i信號,來告訴我們下游是否準(zhǔn)備完畢。

代碼編寫如上,關(guān)鍵就在于注釋:

  1. 如果下游準(zhǔn)備好了,并且上游輸入的數(shù)據(jù)有效的話, 把輸入數(shù)據(jù)乘以二賦值給輸出數(shù)據(jù)。

  2. 如果下游準(zhǔn)備好可以接收數(shù)據(jù)了,那本模塊就可以處理數(shù)據(jù)了。

  3. 如果本模塊準(zhǔn)備好了,就把上游的valid_i傳遞給下游valid_o.

這里的testbench也很重要。

我們用tb來模擬本模塊的上游master和下游slave,用tb給本模塊提供上游數(shù)據(jù)data_i和valid_i信號。分別模擬了上游斷流,即valid_i中途拉低,以及下游反壓,即ready_i中途為低的情況。都通過。

當(dāng)輸出數(shù)據(jù)有效的時候,本模塊輸出的valid_o為高,均符合要求。不熟悉的小伙伴,多看看波形理解一下,整個module也在上面分為兩部分貼出來了,感興趣可以自己動手打一下,上面的是完整代碼。tb省略了端口例化和變量定義。





數(shù)字IC手撕代碼-握手信號(READY-VALID)的評論 (共 條)

分享到微博請遵守國家法律
东兴市| 赤城县| 澎湖县| 广丰县| 奉化市| 庐江县| 庆云县| 色达县| 清河县| 小金县| 肃宁县| 永泰县| 新巴尔虎左旗| 岑溪市| 昌图县| 永丰县| 尚志市| 行唐县| 阿巴嘎旗| 瑞安市| 陆丰市| 郁南县| 平南县| 天水市| 三河市| 文水县| 启东市| 陆良县| 三亚市| 宣恩县| 寻乌县| 靖边县| 康定县| 宾川县| 临高县| 荣成市| 九台市| 尼勒克县| 水富县| 金溪县| 长武县|