一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

控制類寄存器2種實現方式

倩倩 ? 來源:CSDN ? 作者:CSDN ? 2022-09-05 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

控制類寄存器2種實現方式

在數據處理過程中,需要一些可配置的寄存器,用于控制數據處理過程中的行為,如果各類處理信號的使能信號,還有功能模塊的特定控制信號。

例如:在ETH處理過程中,有數據流使能控制,最大包長度控制信號。

例如:在PCIE中,存在bus master enable信號,max payload size等控制信號。

那么這類可配置的控制類寄存器是如何在數據處理過程中起作用的呢?有哪些實現方式呢?

下圖所示,data_in為輸入數據,data_out是處理后的數據,處理過程中data_proc_a/b/c需要用到控制寄存器對處理進行處理,client_id表示data的id號,模塊采用時分復用的方式處理不同id的data。

60356820-2cd0-11ed-ba43-dac502259ad0.png

實現方式1: 寄存器信號線輸出

通過寄存器信號線的方式輸出給需要的模塊,如圖方式1,cfg module把所有的控制信號都暴露出來,送給需要的模塊data_proc_a/b/c,data有效時,根據client_id選擇需要的控制信號。

優(yōu)點:

-此類設計簡單,容易理解與實現。

-此設計限制小,可以用于各類情況下的設計

缺點:

-控制信號線較多,高頻設計不利于布局布線

-不利于規(guī)模擴展,例如client_id數量從8增加到16,需要修改大量的代碼。

實現方式2: 邏輯通過類ram接口主動獲取

此設計中,控制寄存器以ram(或者類似)的方式實現,數據處理模塊data_proc_a主動讀取控制信號,當有效數據來臨時,以client_id作為rdaddr讀取,一次讀取處理流程中所需的控制信號(rdata),進行數據處理,并且將控制信號(rdata)進行pipe與data對齊,提供給后期模塊data_proc_b/c

優(yōu)點:

-規(guī)模擴展方便,例如client_id數量從8增加到16,僅限cfg_ram的規(guī)模修改,data_proc_a/b/c僅僅需要修改client_id位寬參數。

-控制信號線較少,有利于時序優(yōu)化和布局布線

缺點:

-此設計適用于數據的pipeline處理,并且ram讀出存在一定的讀延時,存在一定限制。

一種主動的流控實現方式

1、流控機制

在數據發(fā)送過程中,發(fā)送者向接收者發(fā)送數據,通常需要接收者通知發(fā)送者自身是否可以接收數據,當接收者即將無法接收數據時(如FIFO快滿時),發(fā)送者需要停止發(fā)送數據,這就是流控機制。

605c172c-2cd0-11ed-ba43-dac502259ad0.png

2、流控機制過程

初始化流程:

(1)復位釋放后,初始化,module b 通過信號fc_update_signal 通知module a 自身fifo深度是多少

(2)Tx_fc_ctrl 收到初始化信息后,得知module b存在有效fifo 緩存,通知ren_ctrl允許產生讀使能ren

(3)ren_ctrl產生讀使能ren

(4)ren輸出給tx_fc_ctrl,module b的有效fifo深度減一

(5)tx_fc_ctrl計算module b是否存在有效數據,有則允許ren_ctrl產生讀使能

(6)ren_ctrl產生讀使能ren,并通知到tx_fc_ctrl,module b的有效fifo深度減一

(7)tx_fc_ctrl計算module b是否存在有效數據,有則允許ren_ctrl產生讀使能,沒有則不允許ren_ctrl產生讀使能

(a)Module b模塊fifo已存在有效數據,從fifo讀取一個數據,此時已釋放出一個fifo深度

(b)Fc_update更新fc_update_signal,通知tx_fc_ctrl模塊module b已釋放一個fifo空間,tx_fc_ctrl記錄的有效深度加1

(c)此時tx_fc_ctrl允許ren_ctrl產生讀使能

3、特點說明

此種流控機制需要發(fā)送端和接收端配合管理有效緩存空間。相對比單一bit的flow ctrl信號來說,稍微復雜一些,但是有個顯著的優(yōu)點,相對于被動流控機制(見IC設計高級006:流控反壓機制導致的路徑延時),能夠有效減少module b中的Data fifo的深度。

如圖,data pipeline的深度是不確定的,可能是20~100個周期,而流控信號只有4個pipe,在考慮其他方面的延時有3拍,

不考慮性能的情況下:保證不溢出,module b的fifo深度最小需要:

本文流控機制:深度為1 ; 被動流控機制:深度為1+100+4+3

滿足最大性能的情況下,保證下游不斷流:module b的fifo深度需要:

本文流控機制:100+4+3+1 ; 被動流控機制:2*(100+4+3+1)

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5434

    瀏覽量

    124579
  • 控制信號
    +關注

    關注

    0

    文章

    194

    瀏覽量

    12325

原文標題:IC設計知識點:控制類寄存器兩種實現方式等

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用ADS1258的時候調試了它的兩工作方式,寄存器的值會發(fā)生錯亂,為什么?

    ,大概是一兩個小時,里面寄存器的值會發(fā)生錯亂。導致輸出有誤。原本我對00~08寄存器設置的值為38,21,65,00,FF,FF,00,00,FF. 一開始從串口讀回寄存器的值是正確的,但是一段時間后
    發(fā)表于 02-10 08:21

    XILINX FPGA CLB單元之移位寄存器

    一、移位寄存器 SLICEM函數發(fā)生也可以配置為32位移位寄存器,而無需使用slice中可用的觸發(fā)。以這種方式使用,每個LUT可以將串行
    的頭像 發(fā)表于 01-16 17:45 ?813次閱讀
    XILINX FPGA CLB單元之移位<b class='flag-5'>寄存器</b>

    接口的控制與狀態(tài)寄存器什么作用

    的行為并獲取硬件的狀態(tài)信息。 接口的控制與狀態(tài)寄存器的作用 在現代計算機系統(tǒng)中,硬件設備與軟件之間的交互是通過一系列的接口來實現的。這些接口不僅需要能夠傳輸數據,還需要能夠控制硬件設備
    的頭像 發(fā)表于 10-17 10:42 ?1537次閱讀

    請問TLV320AIC23EVM2如何通過SPI的方式來配置寄存器?

    目前手上購買了一塊TLV320AIC23EVM2評估板,通過TI自帶的GUI界面,SLAVE MODE 下,I2C的方式配置寄存器是可以正常配置和工作的; 現在項目上使用SPI的
    發(fā)表于 10-12 08:24

    什么是寄存器移位尋址

    寄存器移位尋址是一特定的尋址方式,主要出現在某些處理架構中,如ARM指令集。這種尋址方式在處理數據移動和操作時提供了極大的靈活性和效率。
    的頭像 發(fā)表于 10-05 17:38 ?1080次閱讀

    寄存器間接尋址和寄存器尋址的區(qū)別

    寄存器間接尋址和寄存器尋址是計算機體系結構中兩重要的尋址方式,它們在指令執(zhí)行過程中起著關鍵作用。下面將從定義、原理、特點、應用場景以及區(qū)別等方面對這兩
    的頭像 發(fā)表于 10-05 17:13 ?3685次閱讀

    微處理寄存器的作用

    微處理中的寄存器是計算機體系結構中的核心組成部分,它們扮演著至關重要的角色。寄存器是一高速的存儲單元,用于暫時存儲數據、指令和地址等信息,以便微處理
    的頭像 發(fā)表于 10-05 15:07 ?1289次閱讀

    ARM寄存器的分類及功能

    ARM寄存器是ARM處理內部的重要組成部分,它們在處理的運算、控制以及數據存儲等方面發(fā)揮著至關重要的作用。下面,我們將從ARM寄存器的定
    的頭像 發(fā)表于 09-05 14:18 ?2943次閱讀

    通用寄存器是什么意思

    在計算機體系結構中,通用寄存器是中央處理(CPU)內部最為核心和基礎的組成部分之一。它們被設計為能夠存儲和傳輸各種類型的數據和指令,是CPU進行數據處理和運算的關鍵工具。通用寄存器不僅在程序的執(zhí)行過程中起著至關重要的作用,還直
    的頭像 發(fā)表于 09-05 14:13 ?2351次閱讀

    寄存器的類型和作用

    在計算機科學中,寄存器(Register)是一高速存儲單元,它位于CPU內部,與CPU的運算單元和邏輯控制單元緊密相連。寄存器的主要作用是暫時存儲指令、操作數和地址等臨時數據,以便C
    的頭像 發(fā)表于 09-05 14:11 ?4783次閱讀

    寄存器的輸入輸出方式

    寄存器的輸入輸出方式是數字電路設計中至關重要的部分,它決定了數據如何在寄存器中進出以及處理的效率。下面將詳細探討寄存器的幾種主要輸入輸出方式
    的頭像 發(fā)表于 09-05 14:09 ?2654次閱讀

    數字寄存器的原理和使用

    數字寄存器是計算機體系結構中至關重要的組成部分,其原理和使用對于理解計算機的工作原理和數據存儲方式具有重要意義。
    的頭像 發(fā)表于 09-05 14:08 ?1363次閱讀

    寄存器故障分析

    寄存器故障分析是計算機硬件維護與系統(tǒng)穩(wěn)定性保障中的重要環(huán)節(jié)。寄存器作為計算機中的關鍵組成部分,負責存儲和傳輸數據,其穩(wěn)定性和可靠性直接影響到整個計算機系統(tǒng)的性能。以下是對寄存器故障的全面分析,包括故障類型、故障現象、故障原因及診
    的頭像 發(fā)表于 08-29 11:26 ?2190次閱讀

    寄存器根據功能的不同分為哪兩

    寄存器是計算機中用于存儲數據和指令的高速存儲單元,它們是處理內部的重要組成部分。根據功能的不同,寄存器可以分為兩大類:通用寄存器和特殊功能寄存器
    的頭像 發(fā)表于 08-06 09:27 ?3147次閱讀

    寄存器是什么意思?寄存器是如何構成的?

    在計算機科學中,寄存器(Register)是一個高速存儲單元,它位于中央處理(CPU)內部,用于存儲計算機程序執(zhí)行過程中所需要的數據、指令地址或狀態(tài)信息。寄存器是計算機體系結構中至關重要的組成部分,對計算機的運算速度和性能有著
    的頭像 發(fā)表于 08-02 18:23 ?7593次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構成的?