主要内容

创建兼容hdl的Simulink模型万博1manbetx

这个例子说明了如何创建Simulink万博1manbetx®模型用于HDL代码生成。创建一个MATLAB®兼容HDL代码生成的算法,参见编写MATLAB代码以生成高效HDL和SystemC代码的指南

该模型是一个简单的计数器算法,它向上计数,并在达到指定的上限后返回零。若要直接打开模型而不执行上述步骤,请参见简单计数器模型

使用空白DUT模板

若要创建与hdl兼容的Simulink模型,请使用万博1manbetx空白DUT模板。模板被预先配置为用于生成HDL代码hdlsetup函数。

  1. 在MATLAB工具条上,单击按钮。

  2. 在“Simul万博1manbetxink开始页”中,导航到高密度脂蛋白编码器部分,然后选择空白DUT模板。

  3. 保存带有文件名的模型hdlcoder_simple_up_counter.slx在可写的工作文件夹中。

空白DUT模板具有HDL_DUT子系统,它对应于您为其生成HDL代码的未测试设计(DUT)。为了验证DUT功能,模板在HDL_DUT为DUT提供输入并记录输出值的子系统。看到将模型划分为DUT和试验台

从HDL编码器库中选择块

要设计计数器算法,请使用高密度脂蛋白编码器块库。这个库中的块是为HDL代码生成而预先配置的。要过滤Simulink Li万博1manbetxbrary浏览器以显示支持HDL代码生成的块库:万博1manbetx

  1. 应用程序选项卡上,选择高密度脂蛋白编码器

  2. HDL代码选项卡上,选择HDL块属性>开放HDL块库

或者,在命令行中输入hdllib

hdllib

块的高密度脂蛋白编码器库可以在Simulink中使用。万博1manbetx如果没有HDL Coder™,则可以模拟模型中的块,但不能生成HDL代码。

你可以在这些块库中找到额外的支持hdl的块:万博1manbetx

  • DSP系统工具箱HDL支持万博1manbetx

  • 通信工具箱HDL支持万博1manbetx

  • 视觉HDL工具箱

  • 无线HDL工具箱

若要将库浏览器恢复到默认视图,请在“库浏览器”中单击退出HDL-compatible blocks模式按钮。或者,在命令行输入:

hdllib (“关闭”

开发DUT算法

  1. 双击HDL_DUT子系统。从高密度脂蛋白编码器库到您的模型。此表列出要添加到设计计数器的模型中的块。若要了解块的功能并指定其块参数,请双击该块。

    图书馆 块数 块的参数
    常数 来源 2
    • 固定值:1和0

    • 输出数据类型:uint8

    开关 信号路由 2 第一次输入通过的标准:u2 >阈值
    延迟 离散 2 延迟长度:1
    添加 数学操作 1 累加器数据类型:继承:与第一次输入相同
    关系操作符 逻辑与位操作 1 关系运算符:>
  2. 重命名输入端口三机一体而且In2count_threshold而且启用分别。将这些块放在模型中并连接起来。

启用信号指定计数器是否从前一个值开始向上计数。当启用信号逻辑高,计数器计数从零到count_threshold价值。当的值变成等于count_threshold值时,计数器返回0并重新开始计数。当启用信号变得逻辑低,计数器保持先前的值。

创建设计测试平台

导航到模型的顶层并更改输入设置。

  • 常数阻塞输入count_threshold:此输入指示计数器计数的最大值。这个例子展示了如何设计一个4位上计数器。设置恒定值15(2^4 - 1)然后设输出数据类型uint8

    它的输出数据类型常数块的输出数据类型匹配常数控件中的HDL_DUT子系统。

  • 计数器不同步的阻塞输入启用:移除计数器不同步的块。将此块替换为常数值为的块1输出数据类型设置为布尔,样品时间1

另请参阅创建一个简单的模型

上一节展示了hdlcoder_simple_up_counter.slx按照上面描述的步骤创建的模型。要在MATLAB中打开模型,请单击开放模式按钮。

简单计数器模型

打开这个模型可以看到一个简单的计数器。该模型从0开始计数到一个阈值,然后返回到0。将阈值设置为15.若要更改阈值,请将输入的值更改为count_threshold端口。Enable信号指定计数器是向上计数还是保持前一个值。值为1计数器连续向上计数。

模拟和验证设计功能

设置停止时间模型的50.控件模拟模型按钮。要查看模拟结果,请打开范围块在你的模型的顶层。

仿真结果表明启用产生恒定值的信号1.的信号计数来自015,返回0,然后再次计数。

从Simulink模型生成HDL代码万博1manbetx

在生成HDL代码之前,您可以验证模型设置是否与HDL代码生成兼容。本例中使用的计数器模型与HDL代码生成兼容。要验证和更新您的模型以获得HDL兼容性,请使用HDL代码顾问。看到使用HDL Code Advisor检查Simulin万博1manbetxk模型的HDL兼容性

看到从Simulink模型生成HDL代码万博1manbetx

另请参阅

|||

相关的话题