Adaptive_Traffic_Profiles_Specifacation中文版-第四章 FIFO时序模型

第四章 FIFO时序模型

本章描述FIFO时序模型。它包含以下部分:

  • 4-36页的时序模型。
  • 4-37页生成器规范。
  • 4-41页的FIFO时序点 。
  • 4-43页的检查器行为。
  • 4-44页生成器特性。
  • 4-45页链接生成器通道。

4.1时序模型

流量通道的关键部分是事物之间的时序。在生成事务时需要这些信息,也可以在监视和检查事务是否满足某些标准时使用这些信息。
时序模型应该是:

  • 易于使用和理解
  • 快速方便的适应不同部件的特点。
  • 性能分析结果是有用的。
  • 能够再现行为的。
    所指定的模型基于一个简单的FIFO模型。

4.2 生成器规范

对生成器的描述请参见生成器描述。描述使用普通语言,在正式生成器描述中有更正式的定义。

4.2.1生成器描述

生成器的行为是:

  • 通道对事务生成特征进行建模,这些特征可以从包含FIFO的组件中看到。
  • 当通道第一次被触发时,FIFO被设置为完全满或完全空。
  • 在每个周期中,FIFO的水平变化取决于恒定的填充或排出速率:
    Read profile:FIFO以这个速率清空。
    Write profile: FIFO以这个速率填充。
  • 根据FIFO填充级别,只要有可能,事务就会发出:
    当发生以下情况时,生成器将发出一个新事务:
    Read profile:
    每当FIFO中有空间用于事务返回的数据时,就会发出一个新的事务。在计算有多少FIFO空间可用时,必须考虑未完成读事务所需的空间。
    Write profile:
    每当FIFO中有足够的数据来完成事务时,就会发出一个新的事务。在计算有多少数据可用时,必须考虑已经提交未完成写操作的数据。
  • 每当事务数据被发送或接收时,FIFO级别就会改变:
    Read profile:
    每当接收到读数据时,FIFO的当前级别就会增加。
    Write profile:
    每当发送写数据时,FIFO的当前级别就会降低。
  • 如果FIFO溢出或下溢,可以发出警告。

4.2.2 正式生成器描述

表4-1正式指定了控制生成器行为的参数:

表4-2显示了生成器维护的内部变量。

表4-3描述了FIFO的行为,包括:

  • 先进先出水平应该如何改变的细节。
  • 何时发出事务。
  • 当发出溢出或下溢流警告时。

在4-40页图4-1和图4-2给出参数的图解表示:

4.3 FIFO时序点

这部分介绍了用于FIFO计算的精确时序点。

4.3.1 正常操作

对于一个时钟上升沿的读FIFO,会发生以下情况:

  • 如果RVALID和RREADY有效,则FIFO根据数据节拍大小填充。
  • FIFO清空的数量由Rate决定,被影响:
    — 如果在前一个时钟期间计算的FIFO值表明有足够的数据让FIFO排出由Rate决定的量,那么这个排出就会发生。
    — 如果由Rate决定的全部量没有足够的数据,则FIFO只根据可用的数据量清空。
    FIFO的填充和清空是独立的。
    FIFO清空的数量不考虑当前周期结束时返回的任何数据。
    由RVALID和RREADY生效引起的填充将始终发生,因为只有在有足够的空间接收数据时才会发出事务。FIFO的额外排出没有区别。
    如果FIFO在RVALID和RREADY生效的同一周期下溢,则产生的FIFO级别将是一个数据拍。然而,应提示有底流情况。然而,下溢的情况应该有信号发出。
    时钟上升沿后,计算出新的FIFO值。这用于确定在同一周期内是否有足够的空间来发出一个新的读事务,ARVALID生效。
    对写FIFO,在时钟上升沿:
  • 如果WVALID 和 WREADY生效,则FIFO被数据拍大小清空。
  • FIFO由Rate决定的数量填充,因素为:
    — 如果前一个时钟周期计算的FIFO值显示有空间,则FIFO被数量Rate填充。
    — 如果由Rate决定的全部数量没有足够的空间,那么FIFO只填充可用的空间量。
    FIFO的填充和清空是独立的。
    FIFO填充的数量不考虑当前周期中发送的任何数据。
    由WVALID和WREADY生效引起的输出将始终发生,因为只有在有足够的数据要发送时才会发出事务。FIFO的附加填充没有什么区别。
    如果FIFO 在WVALID和WREADY生效的相同周期中过量填充,则产生的FIFO级别将比Full低一个数据拍。然而,溢出状况应该被信号指示。
    时钟上升沿后,计算出新的FIFO值。这用于确定在同一周期内是否有足够的数据来发出一个新的写事务,AWVALID生效。

4.3.2 复位行为

复位行为如下:

对于读FIFO,在时钟沿2:

  • 一个满的读FIFO将排出一个由Rate决定的量。
  • 一个空的读FIFO将试图排出,但会下溢。在启动持续期间之后才发出下溢警告。
  • 第一个事务可以在时钟周期2到3中发出。
    对于写FIFO,在时钟沿2:
  • 一个空的写FIFO将一个由Rate决定的数量填充。
  • 一个满的写FIFO会试图填充,但会溢出。在启动持续时间后才会发出溢出警告。
  • 第一个事务可以在时钟周期2到3中发出。

4.4 检查器行为

检查器的行为几乎与生成器相同。但是,检查器不生成事务。
可选地,一个检查器可以报告以下参数:
MaxLvl — 在分析过程中达到的最大填充级别。这只对初始值为空的通道有意义。
MinLvl — 在分析过程中达到的最小填充级别。这只对初始值为Full的配置通道有意义。

4.5 生成器特征

这部分提供生成器行为的概述。它不提供任何额外的流量通道规范。
在生成器上可以观察到三个典型的操作阶段:

  • 初始峰值速率
  • 受限峰值速率
  • 平均速率

4.5.1初始峰值速率

当生成器第一次被触发时,初始峰值速率发生。该速率不受FIFO中的数据量或未完成事务的最大数量限制。生成器期望每个周期发出一个事务,每个周期使用TxnSize字节。
此阶段的最小持续时间为:

  • TxnLimit周期,如果未完成事务的数量限制成为约束:
    — 如果事务在此阶段结束之前完成,则该阶段的持续时间将延长。
    — 然后是受限峰值速率。
  • 大约(Full / TxnSize)周期,如果FIFO中的数据量成为约束:
    — 该阶段的持续时间随着自然填充/排空的继续而延长,可以计算出该阶段更精确的持续时间。
    — 然后是平均速率阶段。
    初始峰值速率阶段通常会比最低速率稍长。

4.5.2 受限的峰值速率

在受限峰值速率阶段,事务的发出受到未完成事务的最大数量的限制。峰值速率由已发出的事务的延迟决定。当较早的事务完全完成时,将发出一个新的事务。在此阶段,带宽速率由系统延迟控制,而不是由生成器的特性控制。
峰值速率受限阶段持续直到:

  • 对于读通道,FIFO接近满。
  • 对于写通道,FIFO接近空。
    当指定的速率大于在系统中实现的带宽时,一些组件将在大多数时间内运行在受限峰值速率阶段。

4.5.3 平均速率

在平均速率阶段,事物的发出是由填充或清空FIFO的平均速率决定的。事务发出速率是恒定的,由生成器参数控制。然而,数据返回速率是由运行中组件所在的系统控制的。

4.6 链接流量通道

该规范包括一种将流量通道链接在一起的机制,以便一个流量配置文件的进展可以影响另一个流量通道的进展。通常,这用于链接读流量通道和写流量配置通道。链接可以用来表示一个组件的行为,该组件需要读写事务才能取得进展,从而使整个组件取得进展。
当两个流量通道连接时,行为为:

  • 对于链接到写通道的读通道:
    — 当读FIFO完全为空时,则写FIFO的填充不会发生。
    — 当写FIFO完全满时,则不会发生读FIFO的排出。
  • 对于链接的两个读通道:
    — 当其中一个读FIFO完全为空时,不会发生另一个读FIFO的排出。
  • 对于链接的两个写通道:
    — 当其中一个写FIFO完全满时,另一个写FIFO的填充不会发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值