成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
    • 1. Pass Through
    • 2. Forward registered
    • 3. Backward registered
    • 4. Full registered
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

芯片設(shè)計(jì)時(shí)序優(yōu)化 -- register slice

4小時(shí)前
149
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

芯片設(shè)計(jì)中,經(jīng)常會(huì)遇到時(shí)序違例的問題,通常的解決方式就是插入寄存器,也就是打拍。但對于握手信號來說(例如AXI總線中的ready和valid信號),直接打拍會(huì)導(dǎo)致valid和ready不滿足正確的握手關(guān)系,從而導(dǎo)致數(shù)據(jù)漏采樣或者重復(fù)采樣。

因此,需要使用特殊的方法來對握手信號進(jìn)行打拍。對AXI總線中握手信號的打拍通常稱為AXI register slice,可以降低關(guān)鍵路徑的組合邏輯延遲,提高系統(tǒng)工作頻率。register slice通常有四種模式:

Pass Through:直連,也就是不使用register slice。

Forward Registered(前向打拍) :對valid和data信號打拍。

Backward Registered(后向打拍) :對ready信號打拍。

Full Registered(雙向打拍):同時(shí)對valid,data信號和ready信號進(jìn)行打拍。

1. Pass Through

不進(jìn)行打拍,即不插入寄存器。

2. Forward registered

Forward指的是從數(shù)據(jù)發(fā)送方 (source) 到數(shù)據(jù)接收方 (destination) 之間的數(shù)據(jù)傳遞方向。Forward register是同時(shí)對valid信號和payload信號進(jìn)行打拍。Forward打拍的電路框圖如下:

forward registered

verilog代碼示例如下,其中valid_src、data_src、ready_src這三個(gè)信號是發(fā)送端(source)使用的,而valid_dst、data_dst、ready_dst這三個(gè)信號是接收端(destination)使用的。

valid_dst用于對發(fā)送端的valid_src進(jìn)行打拍(鎖存),它在ready_src為1時(shí)鎖存valid_src,ready_src為1有以下兩種情況:

valid_dst為0:此時(shí)valid_dst和data_dst寄存器沒有有效數(shù)據(jù),可以接收發(fā)送端的valid_src。

ready_dst為1:此時(shí)接收端準(zhǔn)備好了接收數(shù)據(jù)。若valid_dst為0:表示接收方先準(zhǔn)備好接收數(shù)據(jù),而valid_dst和data_dst寄存器沒有有效數(shù)據(jù),可以接收valid_src。若valid_dst為1:發(fā)送方和接收方都完成了一次握手,valid_dst和data_dst可以更新。

data_dst是對數(shù)據(jù)進(jìn)行打拍(鎖存),條件是發(fā)送端完成握手(valid_src和ready_src均有效)。這里的數(shù)據(jù)通路沒有用于控制邏輯,因此可以不帶復(fù)位端,以節(jié)省面積。

3. Backward registered

Backward指的是接收端向發(fā)送端發(fā)送ready信號的方向。需要注意,不能只對ready信號打拍,而不對valid和data信號進(jìn)行處理,這樣會(huì)導(dǎo)致數(shù)據(jù)漏采或重復(fù)采樣。

正確的方法是為發(fā)送端的valid和data信號也打拍(進(jìn)行鎖存),當(dāng)發(fā)送端握手成功但接收端沒有ready時(shí),可以鎖存發(fā)送端發(fā)過來的數(shù)據(jù)。等接收端ready后,可以接收到暫存的數(shù)據(jù)。backward registered的電路框圖如下所示:

backward registered

verilog代碼示例如下:

valid_r: ?對發(fā)送端的valid_src進(jìn)行鎖存,會(huì)在以下情況下置1或置0:

當(dāng)接收端ready_dst為1時(shí),置0,此時(shí)接收端可以接收數(shù)據(jù),不需要暫存。

當(dāng)發(fā)送端valid_src和ready_src有效,且接收端ready_dst無效,此時(shí)需要鎖存數(shù)據(jù),將valid_r置1。

data_r:和valid_dst的邏輯類似,當(dāng)滿足valid_src & ready_src & ~ready_dst時(shí),鎖存發(fā)送端的data_src。

ready_src:通過以下邏輯控制

復(fù)位值為1,一旦發(fā)送端準(zhǔn)備好數(shù)據(jù),即可暫存data_src。

接收端ready_dst有效時(shí),置1。

發(fā)送端valid_src有效時(shí),置0。

valid_dst和data_dst這兩個(gè)信號根據(jù)ready_src的值來進(jìn)行賦值:

當(dāng)ready_src為1時(shí),接收端或者可以接收數(shù)據(jù),賦值為valid_src和data_src。

當(dāng)ready_src為0時(shí),此時(shí)暫存寄存器中的數(shù)據(jù)有效,因此賦值為valid_r和data_r。

4. Full registered

Full Registered是對valid/data和ready都進(jìn)行時(shí)序優(yōu)化的寄存器,將Forward Registered和Backward Registered組合在一起即可得到Full Registered,電路框圖如下圖所示:

full registered

參考內(nèi)容:

Synopsys DesignWare DW_axi_rs databook

ic基礎(chǔ)|時(shí)序篇:握手協(xié)議valid和ready的時(shí)序優(yōu)化

相關(guān)推薦

来宾市| 陆川县| 巴林左旗| 建水县| 昌乐县| 张家川| 雷波县| 平和县| 收藏| 陇南市| 丰台区| 垫江县| 中宁县| 桃园县| 彝良县| 顺昌县| 龙州县| 平阴县| 张家川| 容城县| 河北区| 洪江市| 博兴县| 丹江口市| 伊宁市| 怀安县| 崇明县| 汝城县| 若尔盖县| 洱源县| 都兰县| 赤城县| 香河县| 香河县| 文昌市| 宝应县| 灵台县| 铜梁县| 柘荣县| 监利县| 汪清县|