Xilinx Blockset Gateway In 和Gateway out模块使用及参数配置

devtools/2024/11/29 7:06:18/

目录

  • 一、Gateway In
    • Simulink数据到System Generator数据的转换
    • Gateway Blocks
    • Block Parameters(模块参数)
      • Basic选项卡参数
      • Implementation选项卡参数
  • 二、Gateway Out
    • Gateway Blocks
    • Block Parameters(模块参数)
      • Basic选项卡参数
      • Implementation选项卡参数

一、Gateway In

该块在以下Xilinx Blockset库中列出:Basic Elements, Data Types, FloatingPoint, and Index。

Xilinx Gateway In模块是您的Simulink®设计的Xilinx部分的输入。这些模块将Simulink®整数、双精度和定点数据类型转换为System Generator定点类型。每个模块在HDL设计中定义一个由System Generator生成的顶层输入端口或接口。
在这里插入图片描述

Simulink数据到System Generator数据的转换

Gateway In的输入支持许多不同的Simulink数据类型。支持的数据类型包括:int8、uint8、int16、uint16、in32、uint32、single、double和Simulink定点数据类型(如果有Simulink定点数据类型license)。在所有原因中,输入数据被转换为网关内部的double类型,然后转换为网关In块上指定的目标数据类型(定点,浮点或布尔值)。当从内部double表示转换为固定点时,量化和溢出将按照Block GUI中指定的方式进一步处理。对于溢出,选项是饱和到最大的正值/最小的负值,包装(例如,丢弃最重要的可表示位左侧的位),或者在模拟期间将溢出标记为Simulink错误。对于量化,选项是舍入到最接近的可表示值(或者如果有两个等距的最接近的可表示值,则取离零最远的值),或者截断(例如,丢弃最不重要的可表示位右侧的位)。重要的是要认识到转换、溢出和量化并不发生在硬件中,它们只发生在模块的仿真模型中。

Gateway Blocks

如下所列,Xilinx Gateway In块用于提供许多功能:

  • 在Simulink仿真期间,将数据从Simulink整数、双精度和定点类型转换为System Generator定点类型。
  • 定义由System Generator生成的HDL设计中的顶层输入端口或接口。
  • 在System Generator中选中“Create Testbench架”复选框时定义测试台架。在这种情况下,在HDL代码生成期间,在Simulink仿真期间发生的块输入被记录为数据文件中的逻辑向量。在HDL仿真期间,插入到顶层测试台中的实体根据预期结果检查该向量和Gateway Out块产生的相应向量。
  • 在顶级HDL实体中命名相应的端口。

Block Parameters(模块参数)

可以通过双击Simulink模型中的图标来调用块参数对话框。

Basic选项卡参数

“Basic”选项卡的具体参数如下。

  • Output Type:指定输出数据类型。可以是布尔型、定点型或浮点型。
  • Arithmetic Type:如果输出类型指定为定点,则可以选择Signed (2 's comp)或Unsigned作为算术类型。
  • Fixed-point Precision
    • Number of bits:指定块输出数据位数。
    • Binary point:指定二进制点的位位置,其中位0是最低有效位
  • Floating-point Precision:
    • Single:指定单精度(32位)。
    • Double:指定双精度(64位)。
    • Custom:激活下面的字段,以便您可以指定指数宽度和分数宽度。
      • Exponent Width:指定指数宽度。
      • Fraction Width:指定分数宽度。
  • Quantization:当小数位数的数量不足以表示一个值的小数部分时,就会出现量化错误。选项是截断(Truncate)(例如,丢弃可表示的最低有效位右侧的位),或四舍五入(无偏置:+/- inf)(Round(unbiased: +/- inf))或(Round (unbiased: even values))(无偏:偶数值)。
    • Round(unbiased: +/- inf):也被称为Symmetric Round (towards +/- inf)或Symmetric Round (away fromzero)。这类似于MATLAB®round()函数。该方法将值舍入到离零最近的所需位,当两个可能的舍入值之间的中点存在值时,将选择幅度较大的值。例如,将01.0110四舍五入为Fix_4_2,将得到01.10,因为01.0110正好在01.01和01.10之间,而后者离零更远。
  • Overflow:当值位于可表示范围之外时,会发生溢出错误。对于溢出,选项是饱和(Saturate)到最大的正值/最小的负值,包裹(Wrap)(例如,丢弃最重要的可表示位左侧的位),或在模拟期间标记为错误(作为Simulink®错误的溢出)。错误标志(Flag as error)是一个模拟特性。生成的硬件与选择Wrap时相同。
    在这里插入图片描述

Implementation选项卡参数

Implementation选项卡的参数如下所示。

  • Interface Options:
    • Interface:
      • None:意味着在HDL网表生成过程中,这个网关In将被转换为顶层的输入端口。
      • AXI4-Lite:这意味着在生成HDL Netlist期间,将创建一个AXI4- lite接口,并将此Gateway In映射到AXI4-Lite接口中的一个寄存器。
    • Auto assign address offset:如果Gateway In被配置为一个AXI4-Lite接口,该选项允许将地址偏移量自动分配给Gateway In映射到的AXI4-Lite接口中的寄存器。
    • Address offset:如果未选中“Auto assign address offset”,则此输入框允许显式指定要使用的地址偏移量。必须是4的倍数。
    • Interface Name:如果网关接口配置为AX4-Lite接口,则为该接口分配唯一的名称。此名称可用于区分多个设计中的AXI4-Lite接口。当使用IP Catalog流时,您可以期望在System Generator使用该名称创建的IP中看到名为< design_name > _ < interface_name > _ s_axi的接口。注意:接口名称只能由字母数字(小写字母)或下划线(_)组成,且必须以小写字母开头。axi4_lite1是可以接受的,而1Axi4-Lite则不行。
    • Description:关于此Gateway In的其他设计内容注释在接口文档中捕获。
  • Constraints:
    • IOB Timing Constraint:在硬件中,Gateway In被实现为一组输入/输出缓冲区(IOBs)。有三种方法可以限制IOBs的时间:None,Data Rate和Data Rate, Set ‘FAST’ Attribute。
      • 如果选择None,则不会在System Generator生成的用户约束文件中放置IOBs的时间约束。这意味着从iIOB到同步元素的路径不受约束。
      • 如果选择“Data Rate”,IOB将被约束在IOB运行的数据速率上。速率由System Generator令牌提供的“System Clock Period”和和网关相对于设计中其他采样周期的采样率共同决定。
      • 如果选择Data Rate, Set ‘FAST’属性,则产生上述约束。此外,为每个IOB生成一个FAST转换率属性。这减少了延迟,但增加了噪音和功耗。
    • Specify IOB location constraints:检查此选项允许指定IOB位置约束和I/O标准。
    • IOB pad locations, e.g. {‘MSB’, …, ‘LSB’}:IOB引脚位置可以在此编辑框中指定为字符串的单元格数组。这些位置是特定于包的。
    • IO Standards, e.g. {‘MSB’, …, ‘LSB’}:可以将I/O标准指定为此编辑框中的字符串单元格数组。这些位置是特定封装的。
      在这里插入图片描述

二、Gateway Out

该块在以下Xilinx® Blockset库中列出:Basic Elements, Data Types, FloatingPoint, and Index.。

Xilinx Gateway Out模块是Simulink®设计中Xilinx部分的输出。该块将System Generator的定点或浮点数据类型转换为Simulink的整数、单、双或定点数据类型。
在这里插入图片描述
根据其配置,Gateway Out块既可以定义由System Generator生成的HDL顶层设计的输出端口,也可以简单地用作从硬件表示中裁剪出来的测试点。

Gateway Blocks

如下所示,Xilinx Gateway Out模块用于提供以下功能:

  • 将来自System Generator定点或浮点数据类型的数据转换为Simulink整数、单、双或定点数据类型。
  • 定义由System Generator生成的HDL顶层设计的I/O端口。一个Gateway Out块定义了一个顶级输出端口。
  • 当选中“Create Testbench”复选框时,定义测试工作台结果向量。在这种情况下,在HDL代码生成期间,在Simulink仿真期间发生的块输出作为逻辑向量记录在数据文件中。对于每个顶级端口HDL组件被插入到顶层测试台中,该测试台在HDL模拟期间根据预期结果检查此向量。
  • 在顶级HDL实体上命名相应的输出端口。

Block Parameters(模块参数)

Basic选项卡参数

“Basic”选项卡的具体参数如下:

  • Propagate data type to output:这个选项在实例化System Generator设计作为子系统纳入Simulink设计时很有用。默认情况下,System Generator数据类型不是使用Simulink double作为输出数据类型,而是根据下表将其传播为适当的Simulink数据类型:
    在这里插入图片描述
  • Translate into Output Port:选中此框可以防止网关在转换为硬件时成为实际的输出端口。默认情况下,此复选框处于打开状态,启用输出端口。如果不选择此选项,则仅在调试期间使用Gateway Out块,其目的是与Simulink Sink块通信,以探测设计的部分。在这种情况下,Gateway Out块将变为灰色,表明网关不会被转换为输出端口。
    在这里插入图片描述

Implementation选项卡参数

  • Interface Options:
    • Interface:
      • None:在HDL Netlist生成过程中,此Gateway Out将被转换为顶层的输出端口。
      • AXI4-Lite:在生成HDL网表期间,将创建一个AXI4-Lite接口,并将Gateway Out映射到AXI4-Lite接口中的一个寄存器。
      • Interrupt:在IP Catalog生成期间,此网关输出将被标记为当System Generator设计被打包成可包含在Vivado®IP目录中的IP模块时,中断输出端口。
    • Auto assign address offset:如果将Gateway Out配置为AXI4-Lite接口,则该选项允许将地址偏移量自动分配给Gateway Out映射到的AXI4-Lite接口中的寄存器。
    • Address offset:如果未选中“Auto assign address offset”,则此输入框允许显式指定要使用的地址偏移量。必须是4的倍数。
    • Interface Name:如果Gateway Out配置为AX4-Lite接口,则为该接口分配唯一的名称。此名称可用于区分多个设计中的AXI4-Lite接口。当使用IP Catalog流时,您可以期望在System Generator使用该名称创建的IP中看到名为< design_name > _ < interface_name > _ s_axi的接口。注意:接口名称只能由字母数字(小写字母)或下划线(_)组成,且必须以小写字母开头。axi4_lite1是可以接受的,而1Axi4-Lite则不行。
    • Description:关于此Gateway In的其他设计内容注释在接口文档中捕获。
  • Constraints:
    • IOB Timing Constraint:在硬件中,Gateway Out被实现为一组输入/输出缓冲区(IOBs)。有三种方法可以限制IOBs的时间:None,Data Rate和Data Rate, Set ‘FAST’ Attribute。
      • 如果选择None,则不会在System Generator生成的用户约束文件中放置IOBs的时间约束。这意味着从iIOB到同步元素的路径不受约束。
      • 如果选择“Data Rate”,IOB将被约束在IOB运行的数据速率上。速率由System Generator令牌提供的“System Clock Period”和和网关相对于设计中其他采样周期的采样率共同决定。例如,以下OFFSET = OUT约束是为一个名为“Dout”的网关输出生成的,该网关输出在系统周期为10 ns的情况下运行:
        在这里插入图片描述
      • 如果选择Data Rate, Set ‘FAST’属性,则产生上述约束。此外,为每个IOB生成一个FAST转换率属性。这减少了延迟,但增加了噪音和功耗。对于前面的示例,将以下附加属性添加到约束文件中。
        在这里插入图片描述
    • Specify IOB Location Constraints:选中此选项允许指定IOB位置约束。
    • IOB Pad Locations, e.g. {‘MSB’, …, ‘LSB’}:IOB引脚位置可以在此编辑框中指定为字符串的单元格数组。这些位置是特定封装的。
      在这里插入图片描述

http://www.ppmy.cn/devtools/137857.html

相关文章

软文实战技巧:如何利用媒体平台资源提升品牌影响力?

在数字化时代&#xff0c;媒体资源不仅是品牌传播的重要工具&#xff0c;更是提升品牌影响力的关键所在。借助媒体的力量&#xff0c;品牌可以更广泛地触达目标受众&#xff0c;更精准地传递品牌理念&#xff0c;更有效地与消费者建立情感连接。 而软文作为一种低成本、高效率…

谈谈微服务的常用组件

由于微服务给系统开发带来了一些问题和挑战&#xff0c;如服务调用的复杂性、分布式事务的处理、服务的动态管理等&#xff0c;为了更好地解决这些问题和挑战&#xff0c;各种微服务治理的组件应运而生&#xff0c;充当微服务架构的基石和支撑&#xff0c;常用组件如下表&#…

MATLAB 批量读取endnote导出的参考文献

endnote中有很多分组文件夹&#xff0c;如果批量导出 方法1 进入到某个文件组中&#xff0c;选中所有文件夹&#xff0c;右键->复制文献到->新库&#xff0c;即可生成一个只有指定文件组的新的endnote库 方法2 如果方法1导出的库打不开&#xff0c;我的就是这样&…

黑马程序员Java项目实战《苍穹外卖》Day01

苍穹外卖-day01 课程内容 软件开发整体介绍苍穹外卖项目介绍开发环境搭建导入接口文档Swagger 项目整体效果展示&#xff1a; ​ 管理端-外卖商家使用 ​ 用户端-点餐用户使用 当我们完成该项目的学习&#xff0c;可以培养以下能力&#xff1a; 1. 软件开发整体介绍 作为一…

手机镜头组如此突出,考虑恢复以前设计

现在手头看重照相。结果导致的问题就是&#xff0c;在背部要突出很高&#xff0c;以容纳镜头组件。这种设计真的好吗&#xff1f;并不见得。真实照片&#xff1a; VIVO X200系列镜头组照片-CSDN博客 考虑到现在镜头的情形&#xff0c;我建议恢复以前的设计&#xff0c;就是把镜…

创建型模式-建造者模式

建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;用于将一个复杂对象的构建过程与其表示分离&#xff0c;使得相同的构建过程可以创建不同的表示。 核心思想 将复杂对象的创建步骤分解开来&#xff0c;通过一步步的构建来完成对象的创建&a…

python+docx:(二)页眉页脚、表格操作

目录 页眉页脚 表格 表格样式 插入表格 插入行/列 合并单元格 单元格 页眉页脚 页眉页脚操作需要访问文件的section&#xff0c;可通过添加页脚来添加页码。 from docx import Document from docx.enum.text import WD_PARAGRAPH_ALIGNMENT, WD_ALIGN_PARAGRAPH, WD_CO…

c++类模板成员函数的特化

是的&#xff0c;类成员函数可以是模板函数。在C中&#xff0c;类模板和非模板类都可以包含模板成员函数。这种设计允许类在某些成员函数中具有泛型行为&#xff0c;而不需要将整个类设计为模板。 本文将详细介绍类成员函数作为模板函数的概念、声明和定义方法&#xff0c;以及…