IC設(shè)計(jì):控制類寄存器2種實(shí)現(xiàn)方式
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1.控制類寄存器2種實(shí)現(xiàn)方式? ?
在數(shù)據(jù)處理過(guò)程中,需要一些可配置的寄存器,用于控制數(shù)據(jù)處理過(guò)程中的行為,如果各類處理信號(hào)的使能信號(hào),還有功能模塊的特定控制信號(hào)。
例如:在ETH處理過(guò)程中,有數(shù)據(jù)流使能控制,最大包長(zhǎng)度控制信號(hào)。
例如:在PCIE中,存在bus master enable信號(hào),max payload size等控制信號(hào)。
那么這類可配置的控制類寄存器是如何在數(shù)據(jù)處理過(guò)程中起作用的呢?有哪些實(shí)現(xiàn)方式呢?
下圖所示,data_in為輸入數(shù)據(jù),data_out是處理后的數(shù)據(jù),處理過(guò)程中data_proc_a/b/c需要用到控制寄存器對(duì)處理進(jìn)行處理,client_id表示data的用戶id號(hào),模塊采用時(shí)分復(fù)用的方式處理不同id的data。? ? ??
? ? ? ? ??
? ? ? ? ??? ??
2.實(shí)現(xiàn)方式1: 寄存器信號(hào)線輸出:
通過(guò)寄存器信號(hào)線的方式輸出給需要的模塊,如圖方式1,cfg module把所有的控制信號(hào)都暴露出來(lái),送給需要的模塊data_proc_a/b/c,data有效時(shí),根據(jù)client_id選擇需要的控制信號(hào)。
優(yōu)點(diǎn):
此類設(shè)計(jì)簡(jiǎn)單,容易理解與實(shí)現(xiàn)。
此設(shè)計(jì)限制小,可以用于各類情況下的設(shè)計(jì)
缺點(diǎn):
控制信號(hào)線較多,高頻設(shè)計(jì)不利于布局布線
不利于規(guī)模擴(kuò)展,例如client_id數(shù)量從8增加到800時(shí),寄存器的數(shù)量會(huì)大量增加,且800選1的邏輯延時(shí)較大。
? ? ? ? ??
3.實(shí)現(xiàn)方式2: 邏輯通過(guò)類ram接口主動(dòng)獲取? ?
此設(shè)計(jì)中,控制寄存器以ram(或者類似)的方式實(shí)現(xiàn),數(shù)據(jù)處理模塊data_proc_a主動(dòng)讀取控制信號(hào),當(dāng)有效數(shù)據(jù)來(lái)臨時(shí),以client_id作為rdaddr讀取,一次讀取處理流程中所需的控制信號(hào)(rdata),進(jìn)行數(shù)據(jù)處理,并且將控制信號(hào)(rdata)進(jìn)行pipe與data對(duì)齊,提供給后期模塊data_proc_b/c
? ? ? ? ??
優(yōu)點(diǎn):
規(guī)模擴(kuò)展方便,例如client_id數(shù)量從8增加到800,僅僅需要修改cfg_ram的規(guī)模,重新定義一下cfg_ram讀地址位寬,data_proc_a/b/c僅僅需要修改client_id位寬參數(shù)。
控制信號(hào)線較少,有利于時(shí)序優(yōu)化和布局布線
缺點(diǎn):
此設(shè)計(jì)適用于數(shù)據(jù)的pipeline處理,并且ram讀出存在一定的讀延時(shí),存在一定限制。
? ? ? ? ??





