使用模板创建SoC模型
SoC Blockset™模型模板为用于仿真、HDL代码生成或SoC部署的模型提供设计模式和最佳实践。从任何一个SoC Blockset模型模板创建的模型都设置了用于仿真和代码生成的配置参数。
创建SoC模型SoC Blockset模板
为了有效地为SoC设计建模硬件,可以使用SoC Blockset模板创建一个项目。
在MATLAB中®选项卡,选择金宝app按钮。或者,在命令行输入:
金宝app
在Simuli金宝appnk上®开始页,向下滚动到SoC Blockset节,其中包含到常见工作流的SoC模板的链接。选择一个模板并保存项目。在工作空间中打开一个项目文件夹,其中包含:
带有名称的模型
soc_ * _top.slx
- SoC项目的顶层模型。referencedmodels
-包含从顶级模型引用的模型的文件夹。一些模板包括FPGA模型和处理器模型。其他模板只包括一个参考模型:FPGA模型或处理器模型。公用事业公司
-包含模型使用的实用程序函数或测试台数据的文件夹。
要在Simulink中打开顶层模型,在金宝app项目的快捷方式选项卡上,单击开顶模型。
在每个模板中,导航到标记的块FPGA算法在FPGA模型中,或处理器的算法在处理器模型中。这些块被突出显示,以便于检测。用您自己的算法模型替换模板块。
提示
要轻松找到算法块,请在整个模型层次结构中遵循注释。
打开SoC Blockset块库,选择库浏览器按钮,然后选择SoC Blockset在左边窗格中。或者,在命令行输入:
soclib
模板结构
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算法和处理器算法:
将寄存器添加到寄存器通道-双击注册通道块打开块掩码,并根据需要添加额外的寄存器。添加寄存器将在上创建其他端口注册通道块。有关其他信息,请参见注册通道。
向处理器模型添加端口-导航到处理器算法封装模型。要导航到处理器模型,请单击开放处理器模型在项目的快捷方式选项卡。双击处理器算法封装修改它。
对于写寄存器,向模块添加一个输出端口,并添加逻辑以驱动一个值到添加的输出端口。对于读寄存器,添加一个输入端口和逻辑来处理从读寄存器返回的信息。从顶部模型,连接端口到注册通道块。
为FPGA模型添加端口-导航到FPGA算法封装模型。要导航到基于FPGA/Frame的处理模型,请单击开放式FPGA样本模型在项目的快捷方式选项卡。双击FPGA算法封装修改它。
对于写寄存器,添加一个输入端口到模块和逻辑来处理从读寄存器返回的信息。对于读寄存器,添加一个输出端口和逻辑来驱动一个值到添加的输出端口。
对于使用Simulink基于样本的变体时的等效行为,请对FPGA封装中的基金宝app于样本的处理模型重复此步骤。
从顶部模型,将新端口连接到注册通道块。