主要内容

使用模板创建SoC模型

SoC Blockset™模型模板为用于仿真、HDL代码生成或SoC部署的模型提供设计模式和最佳实践。从任何一个SoC Blockset模型模板创建的模型都设置了用于仿真和代码生成的配置参数。

创建SoC模型SoC Blockset模板

为了有效地为SoC设计建模硬件,可以使用SoC Blockset模板创建一个项目。

  1. 在MATLAB中®选项卡,选择金宝app按钮。或者,在命令行输入:

    金宝app

  2. 在Simuli金宝appnk上®开始页,向下滚动到SoC Blockset节,其中包含到常见工作流的SoC模板的链接。选择一个模板并保存项目。在工作空间中打开一个项目文件夹,其中包含:

    • 带有名称的模型soc_ * _top.slx- SoC项目的顶层模型。

    • referencedmodels-包含从顶级模型引用的模型的文件夹。一些模板包括FPGA模型和处理器模型。其他模板只包括一个参考模型:FPGA模型或处理器模型。

    • 公用事业公司-包含模型使用的实用程序函数或测试台数据的文件夹。

    要在Simulink中打开顶层模型,在金宝app项目的快捷方式选项卡上,单击开顶模型

  3. 在每个模板中,导航到标记的块FPGA算法在FPGA模型中,或处理器的算法在处理器模型中。这些块被突出显示,以便于检测。用您自己的算法模型替换模板块。

    提示

    要轻松找到算法块,请在整个模型层次结构中遵循注释。

  4. 打开SoC Blockset块库,选择库浏览器按钮,然后选择SoC Blockset在左边窗格中。或者,在命令行输入:

    soclib
    该库包括用于创建SoC模型和测试平台的块。

模板结构

SoC Blockset模板中的顶层模型包括FPGA子系统,该子系统表示用于对FPGA进行编程的逻辑。FPGA子系统包括两个Simulink模型变体:金宝app

  • 基于帧的FPGA模型-用于增强仿真性能(在RFSoC模板中不可用)

  • 基于样本的FPGA模型-用于周期精度和代码生成

顶层模型还包括一个处理器子系统,它代表了在SoC处理器上运行的软件程序。FPGA和顶层子系统都包含标记为FPGA算法或处理器算法的块。用你自己的逻辑替换这些算法。模板的顶部模型还包括一个内存系统,具有内存控制器和内存通道。这些块代表板上的物理内存系统。该模型通常包括一个寄存器通道(用于实现处理器和FPGA之间的通信)、测试台或I/O块。

修改项目

修改FPGA型号

在顶层模型中,通过点击FPGA模块左下方的箭头打开FPGA模型:

FPGA模型包含两种模型变体:基于帧的变体和基于样本的变体。双击要修改的模型变体。FPGA模型通常包括两个主要子系统供您修改:

  • FPGA算法包装器-双击打开模型。算法包装器包含一个绿色突出显示的子系统,名为FPGA算法。这个块有两个输入和一个输出,并被实现为一个乘数。用您自己的FPGA算法替换此块。根据需要添加输入和输出。

  • 测试源封装器-该块包括一个测试源,用于生成刺激作为FPGA算法的输入。根据您的需要修改测试源代码,或者用一个可选的源代码块替换它。如果FPGA算法的输入是从I/O块(如HDMI或SDR)路由的,请考虑使用特定的应用程序模板。

    请注意

    并非所有模板都在FPGA模型中包含测试源块。

修改处理器模型

处理器模型包括任务管理器块和处理器包装器。模板将处理器算法实现为“直通”线。打开处理器算法包装,并替换处理器的算法块(以蓝色突出显示)与您想要的算法。

修改寄存器通道

模板的顶部模型还包括一个寄存器通道,用于在处理器和FPGA模型之间通信。使用寄存器通道来配置FPGA模式,或读取和检查状态寄存器。的注册通道块中包含一个寄存器。要添加额外的寄存器,必须修改寄存器通道块参数、FPGA算法和处理器算法:

  1. 将寄存器添加到寄存器通道-双击注册通道块打开块掩码,并根据需要添加额外的寄存器。添加寄存器将在上创建其他端口注册通道块。有关其他信息,请参见注册通道

  2. 向处理器模型添加端口-导航到处理器算法封装模型。要导航到处理器模型,请单击开放处理器模型项目的快捷方式选项卡。双击处理器算法封装修改它。

    对于写寄存器,向模块添加一个输出端口,并添加逻辑以驱动一个值到添加的输出端口。对于读寄存器,添加一个输入端口和逻辑来处理从读寄存器返回的信息。从顶部模型,连接端口到注册通道块。

  3. 为FPGA模型添加端口-导航到FPGA算法封装模型。要导航到基于FPGA/Frame的处理模型,请单击开放式FPGA样本模型项目的快捷方式选项卡。双击FPGA算法封装修改它。

    对于写寄存器,添加一个输入端口到模块和逻辑来处理从读寄存器返回的信息。对于读寄存器,添加一个输出端口和逻辑来驱动一个值到添加的输出端口。

    对于使用Simulink基于样本的变体时的等效行为,请对FPGA封装中的基金宝app于样本的处理模型重复此步骤。

  4. 从顶部模型,将新端口连接到注册通道块。

另请参阅

|||

相关的话题