主要内容

使用模板创建SoC模型

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

创建SoC模型SoC Blockset模板

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

  1. 在MATLAB®选项卡,选择动态仿真模块按钮。或者,在命令行输入:

    动态仿真模块

  2. 在仿真软件®开始页,向下滚动到SoC Blockset部分,其中包含常见工作流的SoC模板链接。选择一个模板并保存项目。在您的工作空间中打开一个项目文件夹,其中包含:

    • 一个有名字的模特soc_ * _top.slx—SoC项目的顶层模型。

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

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

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

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

    提示

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

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

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

模板结构

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

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

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

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

修改项目

修改FPGA型号

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

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

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

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

    请注意

    并非所有模板都在FPGA模型中包含Test Source块。

修改处理器型号

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

修改寄存器通道

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

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

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

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

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

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

    对于使用基于Simulink样本的变体时的等效行为,在FPGA包装器中对基于样本的处理模型重复此步骤。

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

另请参阅

|||

相关的话题

Baidu
map