主要内容

模型设计为AXI4-Stream接口的一代

对于需要高速数据传输的设计使用AXI4-Stream接口。您可以实现一个简化的、流媒体协议模型中通过使用HDL编码器™。软件生成AXI4-Stream接口IP核。

选择这三个建模风格基于你的算法如何运作:

  • 纸浆包建模——你的算法操作时使用这些指导方针的样本。

  • 框架建模-当你使用这些指南算法作用于一个完整的帧的数据。被测信号的数据在设计(DUT)边界向量或矩阵。不要使用这种模式如果你想模型有效的和准备好信号。

  • 遗留框架建模——你的算法操作时使用这些指导方针的样品和你想模拟数据信号的帧边界测试设计(DUT)。

    请注意

    遗留框架建模风格将会在将来的版本中被弃用。如果你想模型有效的和准备好信号,使用的建模风格纸浆包。

纸浆包建模

当你想要模拟样本的数据信号作为流DUT边界,模型在纸浆包模式。您可以建模的数据为一个标量或矢量信号。如果你模型的数据信号矢量,在高密度脂蛋白编码器工作流顾问任务1.2。设置目标接口>界面选项设置样品的包装尺寸所有。HDL编码包的向量元素结合在一起,将向量作为一个样本。您可以指定如何使用HDL编码包数据包装方式。看到样品的包装尺寸

简化的流媒体协议

地图设计测试(DUT)港口AXI4-Stream接口,使用简化AXI4-Stream协议。你不需要模型实际AXI4-Stream协议,而是可以使用简化的协议。当您运行这个IP核心代工作流,HDL代码生成包装器包含逻辑简化协议之间的转换和实际AXI4-Stream协议。简化协议需要更少的协议信号,简化了握手机制有效的和准备好信号,并支持任意长度的爆发。金宝app

使用简化AXI4-Stream协议读写事务。当你想生成一个AXI4-Stream接口IP核,在你DUT接口,实现这些信号:

  • 数据

  • 有效的

可选地,当你标量DUT端口映射到一个AXI4-Stream接口,您可以建模这些信号:

  • 准备好了

  • 其他协议的信号,如:

    • TSRTB

    • TKEEP

    • TLAST

    • TID

    • 道明

    • 摘要

数据和有效信号

数据信号有效时,有效信号是断言。这个图表说明了数据和有效信号根据简化的流媒体协议之间的关系。当您运行的IP核心代工作流,在高密度脂蛋白HDL编码增加了流接口模块IP核心翻译充分简化协议AXI4-stream协议。在这幅图像中,时钟信号clk

模型数据和有效信号金宝app

  1. 附上的算法处理数据信号通过一个子系统启用。

  2. 使子系统的控制使港口通过使用有效的信号。

例如,您可以直接将有效信号连接到启用端口。

你也可以使用一个控制器DUT,生成一个启动信号子系统启用。

准备好信号(可选)。下游组件使用背压向上游组件他们并不准备接收数据。DUT的AXI4-Stream接口可以包含一个准备好信号。使用现成的信号:

  • 应用背压在一个AXI4-Stream奴隶接口。例如,将准备好信号当下游组件还没有准备好接收数据。

  • 对背压在一个AXI4-Stream主界面。例如,停止发送数据,当下游组件准备好信号很低。

当你使用一个流媒体频道,默认情况下,高密度脂蛋白编码器生成准备好信号和逻辑处理背压。背压的逻辑关系向DUT准备好信号使信号。当输入的主人准备好信号低,DUT是禁用的,奴隶就绪信号和输出驱动的低。因为高密度脂蛋白编码器生成背压逻辑和准备好信号,当你使用一个流媒体渠道,准备好信号模型是可选的,你不需要这个信号在DUT端口。

块关系图视图说明自动生成信号和背压逻辑。

当您使用多个流媒体渠道,高密度脂蛋白编码器生成一个现成的信号,不产生背压的逻辑。DUT,有多个流媒体渠道:

  • 主频道忽略了准备好信号从下游组件。

  • 奴隶渠道准备好信号高,导致上游组件继续发送数据。

没有背压的逻辑可能导致数据被删除。避免数据丢失和应用背压对奴隶接口或应对背压在你的设计从主界面:

  • 准备好了为每个额外的信号流的接口模型。

  • 建模准备好信号映射到DUT端口为额外的接口。

当你不准备好信号模型,设置目标接口任务显示一个警告,提供接口,需要准备好港口的名称。如果你的设计不需要应用或应对压力,忽略这个警告。

AXI4-Stream接口准备好信号

AXI4-Stream输入

这张图片说明了数据之间的时间关系,有效的,根据简化的流媒体协议准备好信号。在这幅图像中时钟clk。AXI4-Stream奴隶模块发送DataIn和ValidIn信号后,主张从DUT ReadyIn信号。这是由数据包A、B、D、E的形象。ReadyIn信号下降时,模块总是发送一个DataIn ValidIn信号。这是由数据包C的形象。模型ReadyIn信号时,DUT必须能够接受一个值后de-asserting准备好信号。

简化的流媒体协议输入时间图

例如,如果你有一个先进先出(FIFO)在你的DUT存储一帧数据,将反压力应用到上游组件,模型准备好信号基于FIFO几乎完整的信号。

简化的流媒体协议准备好信号模型

AXI4-Stream输出

这张图片说明了数据之间的时间关系,有效的,根据简化的流媒体协议准备好信号。在这幅图像中时钟clk。你可以发送DataOut和AXI4-Stream ValidOut信号主模块维护ReadyOut之后的信号。这是由数据包A, B, E, F, G的形象。你可以发送一个DataOut ValidOut信号后ReadyOut信号下降。这是由数据包C的形象。你只能发送一个额外的包后ReadyOut信号下降,后续的数据包将会下降,直到准备好信号再次断言。这是由数据包D的形象。

简化的流媒体协议输出

可选一个周期延迟有效和准备好信号之间的简化流媒体协议允许您使用一个典型的或第一个词失败(FWFT) FIFO来处理来自下游组件的反压力。

下游反压力处理FWFT FIFO

您可以使用一个FWFT FIFO存储一帧的数据和处理来自下游组件的背压ValidOut信号建模为ReadyOut和FIFO非空。

基于经典FWFT FIFO准备信号模型

使用一个为DUT FWFT FIFO有零延迟的上游和下游组件之间的信号。这张图片显示了时间的数据之间的关系,有效的,准备好信号。时钟信号是clk

时间图显示数据之间的关系,有效,FWFT FIFO和准备好信号

下游反压力处理与经典的FIFO

如果你DUT使用经典的FIFO存储一帧的数据,模型ValidOut信号ReadyOut和FIFO不是空的。

经典的基于FIFO的DUT准备好信号模型

这张图片显示了时间的数据之间的关系,有效的,准备好信号。时钟信号是clk

时间图显示数据之间的关系,有效,对经典的FIFO和准备好信号

如果你不准备好信号模型,高密度脂蛋白编码器产生的信号和相关的背压的逻辑。当您生成的IP核心,在高密度脂蛋白HDL编码增加了流接口模块IP核心翻译充分简化协议AXI4-Stream协议。

请注意

如果你启用延迟平衡,准备上的编码器插入一个或多个延迟信号。禁用延迟平衡的信号通路。

TLAST信号(可选)。DUT的AXI4-Stream界面可以选择TLAST信号模型,用于显示一帧数据的结束。如果你没有这个信号模型,高密度脂蛋白编码器生成。AXI4-Stream奴隶接口,传入TLAST信号将被忽略。AXI4-Stream主界面,自动生成TLAST信号时断言有效样本的数量计数到默认的帧长度值。默认的帧长度值可以通过使用AXI4-Stream界面选项设置在目标接口表中。看到AXI4-Stream数据界面选项

当IP核心AXI4奴隶界面,默认的帧长度值存储在一个可编程寄存器的IP核心。您可以更改默认的帧长度在运行时。当改变默认的帧长度寄存器的一个框架,TLAST计数器状态重置为零,TLAST信号断言。你可以找到可编程TLAST寄存器的地址的IP核心生成报告。

框架建模

你可以设计你的DUT操作框架的数据和数据端口映射到一个流接口。帧映射端口(向量、矩阵和复杂的矩阵)AXI4-Stream接口使用frame-to-sample优化。有关更多信息,请参见模型设计框架IP核心的一代

遗留框架建模

设计你的样品和模型的算法操作流数据信号作为一个向量。在这种模式下运营的HDL编码器工作流顾问任务1.2。设置目标接口>界面选项设置样品的包装尺寸没有一个

请注意

这种建模风格将会在将来的版本中被弃用。

数据和有效信号的建模需求

当你向量端口映射到AXI4-Stream接口:

  • 连接每个DUT输入向量数据端口Serializer1D块。

    Serializer1D块必须有一个ValidOut港口和比例将矢量位宽度。

  • 每个DUT输出矢量数据端口连接到Deserializer1D块。

    Deserializer1D块必须有一个ValidIn港口和比例将矢量位宽度。

  • 连接每一个标量端口映射到一个AXI4-Lite接口率转换块。

    的比率率转换块必须匹配的比率Serializer1DDeserializer1D块。

  • 每一个标量端口映射到外部端口必须有相同的样品时间流算法子系统。

流算法子系统遵循相同的数据和有效信号建模模式模式标量端口映射到一个AXI4-Stream接口。看到在仿真软件模型数据和有效信号金宝app。使用框架建模时,您不能使用协议的信号除了数据和有效的。例如,准备和TLAST不受支持。金宝app

例子

将向量映射端口AXI4-Stream接口,打开hdlcoder_sfir_fixed_vector.slx模型。在hdlcoder_sfir_fixed_vector.slx模型,symmetric_fir块流算法子系统。

模型设计与多个流媒体渠道

当您运行这个IP核心代工作流,您可以将多个标量DUT端口映射到AXI4-Stream主人和AXI4-Stream奴隶频道。在遗留框架模式,您可以使用一个AXI4-Stream主频道和一个AXI4-Stream从通道。

请注意

在纸浆包模式中使用多个流媒体通道时,高密度脂蛋白编码器生成准备好信号,但不产生背压的逻辑。如果你想让你的设计处理背压,模拟信号在你的设计做好了准备。

欲了解更多,请看产生高密度脂蛋白与多个AXI4-Stream IP核和AXI4主接口

当你模型DUT使用框架模式可以将多个帧DUT端口映射到AXI4-Stream主人和AXI4-Stream奴隶频道。当你使用框架模式HDL编码器生成所有流的准备和有效信号端口。

模型设计有多个样本率

运行的IP核心代工作流时,使用HDL编码器软件设计有多个样本率。当你接口端口映射到AXI4-Stream主人或奴隶AXI4-Stream接口,使用多个样本率,地图DUT的端口映射到这些AXI4接口运行最快的速度的设计或利率低于设计速度。

高密度脂蛋白编码器运行DUT的端口映射到AXI4-Stream主人和奴隶接口速度低于模型设计利率:

  • 设置AXI4-Stream主频道有效信号高在第一个周期每N个时钟周期。例如,如果设计速度比慢速度快八倍DUT港口,有效信号是高第一时钟周期每八时钟周期。

  • 断言AXI4-Stream奴隶接口上的背压,确保输入数据流的速度是一个数据帧每N个时钟周期。例如,如果设计速度比慢速度快八倍DUT港口,第一帧是流在一个时钟周期,第二帧时钟周期9个,等等。

当你AXI4-Stream接口DUT端口映射到最快速度设计、有效信号高,确保没有背压AXI4-Stream奴隶接口。

在设计模型有多个样本率,为每个AXI4-Stream接口,AXI4-Stream接口信号,如数据信号,有效的信号,所有的可选信号,以相同的速度需要映射。

欲了解更多,请看多重速率的IP核心代

AXI4-Stream数据界面选项

当您运行这个IP核心代矢量数据的工作流模型,您可以指定如何矢量数据作为样本或框架使用样品的包装尺寸。当矢量数据当作一个示例中,您可以指定向量元素是如何挤在一起使用包装方式选择。

当您运行这个IP核心代工作流的模型有一个AXI4——流接口映射到没有信号TLAST,你可以指定TLAST通过使用寄存器值DefaultFrameLength选择。

默认的帧长度

当你不TLAST信号模型,指定默认的帧长度(TLAST)值AXI4流主界面。TLAST信号为您创建的IP核心和信号时断言生成有效的样本计数的值的数量在默认的帧长度。当生成的接口IP核具有AXI4奴隶,高密度脂蛋白编码器生成默认的帧长度作为一个可编程寄存器。当改变默认的帧长度寄存器的一个框架,TLAST计数器状态重置为零,TLAST信号断言。有关更多信息,请参见TLAST信号(可选)。当你没有选择生成默认AXI4奴隶接口生成默认的帧长度作为一个恒定值,而不是一个可编程寄存器。

样品的包装尺寸

指定如果矢量数据作为样本或作为一个框架:

  • 一个也没有。这个值是默认值。当你指定,向量和向量元素被视为帧流一个接一个。例如,当输入是一个six-by-one向量在第一个时钟周期,第一个向量元素是流,第二个向量元素,在第二个时钟周期,等等。使用这种模式,模型必须包含一个序列化程序块的输入和输出的反序列化器块。的包装方式时不可用样品的包装尺寸设置为None。

  • 所有人。指定所有时,向量是包装在一起,流在一个时钟周期。例如,当输入是一个six-by-one向量,向量的所有元素包装在一起,流在一个时钟周期。在这种情况下,您可以指定向量元素是如何通过使用包装包装方式选择。

包装方式

当您设置样品的包装尺寸所有,您可以指定如何HDL编码包向量元素,复杂的数据和复杂向量通过指定包装方式参数是位一致2的幂对齐。这个设置适用于AXI4-Stream主人和奴隶频道。

非复杂矢量数据包装

  • 位一致。当你设置包装方式这个设置,HDL编码包直接相邻向量元素。如果包装位宽度小于AXI4-Stream通道宽度,然后垫与零包装数据匹配通道宽度。

    例如,如果AXI4-Stream通道宽度是256位,有四个向量元素,和30位长向量元素,总宽度是120位的数据。当包装模式设置位一致、HDL编码包AXI4-Stream数据如这个图所示。

    零填充矢量数据对齐

  • 2的幂对齐。在这种模式下,第一次带零向量元素最接近的两个边界的力量。然后,衬垫元素包装在一起。如果包装矢量位宽度小于AXI4-Stream通道宽度,然后用0填充数据填充匹配通道宽度。

    例如,如果AXI4-Stream通道宽度是256位,有四个向量元素,和30位长向量元素,总宽度是120位的数据。当包装模式设置位一致、HDL编码包AXI4-Stream数据如这个图所示。当包装模式设置2的幂对齐、HDL编码包AXI4-Stream数据如这个图所示。

    零填充两个对齐数据

    每个向量元素的位宽30与零填充的位宽两个向量元素的宽度扩展到32,最近的两个边界的力量。

包装复杂的数据。当输入数据是一个复杂的数字,高密度脂蛋白编码器垫0的实部和虚部最近的两个边界的力量。高密度脂蛋白编码器然后包数据一起和垫0的数据匹配通道宽度。例如,如果AXI4-Stream通道宽度是64位和复杂数据类型ufix7、HDL编码包流数据如图所示:

复杂的数据补零的最亲密的两个边界的力量

高密度脂蛋白编码器垫0的复杂的数据位宽一个延长的真实和虚构的数据包大小8,然后垫0的数据宽度48延长64年复杂的数据帧大小,AXI4-Stream通道宽度。

当您使用生成的软件界面模型流复杂的数据到目标板,你必须把复杂的数据所示示例图像。

包装复杂的矢量数据。DUT的模型复杂的数据信号帧边界跟踪框架建模需求。在这种情况下,HDL编码包的复杂数据元素中描述的框架包装复杂的数据部分。

另外,如果你想把整个复杂的矢量作为样本,基于样本的建模部分遵循指导方针。HDL编码设置样品的包装尺寸参数所有包装方式参数2的幂对齐

例如,如果AXI4-Stream通道宽度是64位的,复杂的数据类型ufix7,复杂的矢量有三个元素,HDL编码包的数据如图所示:

复杂的矢量和零填充最接近的两个边界的力量

高密度脂蛋白编码器垫的复杂的数据:

  • 零位宽度后每个实数和虚数向量元素来扩展数据大小8,最近的两个边界的力量。

  • 零位宽度16 64年末扩展帧大小,AXI4-Stream通道的宽度。

当您使用生成的软件界面模型流复杂的数据到目标板,你必须把复杂的数据在数据包装格式示例所示的图像。

限制

当你将标量或矢量DUT端口映射到AXI4-Stream接口:

  • 赛灵思公司®Zynq®-7000或英特尔®第四的®'必须是你的目标平台。

  • Xilinx Vivado®或英特尔第四的'必须合成工具。

  • 处理器/ FPGA同步必须自由奔跑。

相关的例子

更多关于