Introducción y derivación de la fórmula de cálculo de profundidad FIFO

Cálculo de profundidad FIFO:

上一篇文章讲到一个简单的FIFO计算公式,但是只适用于部分情况,下面深层次介绍一下FIFO计算的过程和网上流传的公式


提示:先将网上流传的两个公式搬出来:

FIFO _ D epth > = ( wr _ clk − rd _ clk ) ∗ B urst _ lengthwr _ clk FIFO\_Depth >= (wr\_clk - rd\_clk)*\frac{Ráfaga\_longitud}{wr\_clk}F I FO _ Profundidad _ _>=w r _ c l kr re _ c l k w r _ c l kRáfaga _ longitud _ _ _ _ _ _ _ _

FIFO _ D epth > = B urst _ length − B urst _ length ∗ rd _ clkwr _ clk ∗ rd _ rate FIFO\_Depth >= Burst\_length - Burst\_length*\frac{rd\_clk}{ wr\_clk} *rd\_tasaF I FO _ Profundidad _ _>=Ráfaga _ longitud _ _ _ _ _ _ _ _Ráfaga _ longitud _ _ _ _ _ _ _ _w r _ c l kr d _ c l kr d _ r a t e
ilustra los puntos que deben tenerse en cuenta en la fórmula:
frecuencia de reloj de escritura w_ clk, frecuencia de reloj de lectura r_ clk, en el ciclo de reloj de escritura, los datos A se escribirán en el ciclo de reloj de lectura FIFO cada B ciclos de reloj Aquí, habrá una lectura FIFO de datos X cada ciclo de reloj Y.

  • Burst_length: la longitud máxima de ráfaga, nota: se refiere a la longitud de los datos escritos por el reloj de escritura durante el período de ráfaga
  • rd_rate: se refiere al byte de datos (byte) leído en un ciclo, 1 byte = 8 bits

Fórmula 1:

Pregunta de prueba escrita 1: un FIFO de 8 bits de ancho, el reloj de entrada es de 100 MHz, el reloj de salida es de 95 MHz, un paquete está configurado en 4 Kbit y la distancia de envío entre los dos paquetes es lo suficientemente grande. Pregunta por la profundidad del FIFO.

  1. FIFO asíncrono, las frecuencias de lectura y escritura son diferentes, el ancho de bit de lectura y escritura es el mismo. La cantidad de datos para enviar una ráfaga Burst es de 4Kbit. Tiempo para enviar Burst T = 4000/100MHz.
  2. La cantidad de datos aceptados por el receptor T*95MHz = 4000 * 95 / 100 bit
  3. La cantidad de datos que FIFO necesita almacenar en caché es 4000 - 4000 * 95/100 = 200 bits
  4. FIFO_Depth >= 200 bits/8 bits = 25. Entonces la profundidad del FIFO debe ser al menos mayor o igual a 25.

Fórmula 2:

Escriba la frecuencia de reloj w_ clk, lea la frecuencia de reloj r_ clk, en el ciclo de escritura de reloj, los datos A se escribirán en el ciclo de reloj de lectura FIFO cada ciclo de reloj B, y los datos X se leerán de FIFO cada ciclo de reloj Y. Pregunta por la profundidad del FIFO.
wr_rate = w_clk wr\_rate = w\_clkescribir _ _ _ _ _ _=w _ c l k

wr _ tasa ′ = AB ∗ T = AB ∗ w _ clk wr\_tasa' = \frac{A}{B*T} = \frac{A}{B}*w\_clkescribir _ _ _ _ _ _=BTun=Bunw _ c l k

rd _ tasa ′ = XY ∗ T = XY ∗ r _ reloj rd\_tasa' = \frac{X}{Y*T} = \frac{X}{Y}*r\_clkr d _ r a t e=YTX=YXr _ c l k
Suponga que los datos enviados durante "back-to-back" = Burst_lengthL, luego el tiempo de "back-to-back": t =B urst _ lengthw _ clkt = \frac{Burst\_length}{ w\_clk}t=w _ c l kRáfaga _ longitud _ _ _ _ _ _ _ _ Tenga en cuenta que es wr_rate' durante este período (consulte el concepto de longitud de ráfaga para comprender)

Durante este tiempo, el receptor puede aceptar los datos rd _ rate ′ ∗ t = XY ∗ r _ clk ∗ B urst _ lengthw _ clk rd\_rate'*t = \frac{X}{Y}*r\_clk * \ frac{Ráfaga\_longitud}{w\_clk}r d _ r a t et=YXr _ c l kw _ c l kRáfaga _ longitud _ _ _ _ _ _ _ _
缓存数据为Ráfaga _ longitud − XY ∗ rd _ clk ∗ Ráfaga _ longitudw _ clk Ráfaga\_longitud -\frac{X}{Y}*rd\_clk * \frac{Ráfaga\_longitud}{w\_clk}Ráfaga _ longitud _ _ _ _ _ _ _ _YXr d _ c l kw _ c l kRáfaga _ longitud _ _ _ _ _ _ _ _
FIFO _ D epth > = B urst _ length − XY ∗ r _ clk ∗ B urst _ lengthw _ clk FIFO\_Depth >= Burst\_length -\frac{X}{Y}*r\_clk * \frac{Burst \_longitud}{w\_clk}F I FO _ Profundidad _ _>=Ráfaga _ longitud _ _ _ _ _ _ _ _YXr _ c l kw _ c l kRáfaga _ longitud _ _ _ _ _ _ _ _
FIFO _ D epth > = B urst _ length − B urst _ length ∗ r _ clkw _ clk ∗ XY FIFO\_Depth >= Burst\_length -Burst\_length * \frac{r\_clk}{w\_clk}* \frac{X}{Y}F I FO _ Profundidad _ _>=Ráfaga _ longitud _ _ _ _ _ _ _ _Ráfaga _ longitud _ _ _ _ _ _ _ _w _ c l kr _ c l kYX


Supongo que te gusta

Origin blog.csdn.net/Lethe_01/article/details/124829195
Recomendado
Clasificación