主要内容

开始使用基于MATLAB SystemVerilog DPI的一代

这个例子向您展示了如何为一个可编程的方波发生器生成SystemVerilog DPI组件编写的MATLAB®,并出口到一个高密度脂蛋白模拟器。

出于演示的目的,这个示例使用Modelsim®10.3摄氏度在64位Windows®7。然而,这个过程可以很容易地复制其他系统和模拟器。

需求和先决条件

s manbetx 845产品需要这个例子:

  • MATLAB编码器™

  • 模拟器:导师图形®ModelSim®/ QuestaSim®或节奏®Xcelium™

  • 一个支持的C语言编译器万博1manbetx:Microsoft®Visual c++或GNU GCC

MATLAB设计

MATLAB代码中使用这个示例演示了一个简单的可编程的方波发生器。这个例子还提供了一个MATLAB试验台,练习设计。

下图显示了DPI生成组件,在这个例子中:

  • “On_time”和“Off_time”控制输出信号占空因数。

例如,如果On_time = 1和Off_time = 1,产生的方波周期将有50%的进口关税。

模拟设计与MATLAB Testbench提供

确保没有运行时错误,设计符合要求,模拟设计与之前提供的testbench代码生成。MATLAB中输入以下命令:

ProgSWGenerator_tb

应该情节如下图:

注意,图显示了程序的输出信号表现如下:

  • 时钟周期< 100:= 1 = 1

  • 250:100 <时钟周期< = 2,= 1

  • 250 <时钟周期:= 1 = 2

使用DPIGEN命令生成DPI组件

使用DPIGEN,生成DPI组件。

在MATLAB中执行DPIGEN命令如下:

dpigen-testbenchProgSWGenerator_tbProgSWGeneratorarg游戏{0}

生成的目录结构如下:

dpi_tb:文件夹所有testbench相关文件。

ProgSWGenerator_dpi。sv: DPI生成组件。

ProgSWGenerator_dpi_pkg。sv:生成SystemVerilog包。

libProgSWGenerator_dpi。dll:库包含所有进口函数的定义。

注意:DPIGEN会自动尝试编译的库。为了生成文件没有编译您应该使用- c选项。例如:

dpigen- c-testbenchProgSWGenerator_tbProgSWGeneratorarg游戏{0}

运行生成的Testbench HDL模拟器

对于ModelSim / QuestaSim,执行以下步骤:

  • 开始ModelSim / QuestaSim GUI模式。

  • 高密度脂蛋白的模拟器,改变当前目录下“dpi_tb”代码生成目录。

  • 输入以下命令,以启动您的模拟

run_tb_mq.do

例如:

如下所示的波形:

注意,输出波(底部)的行为以完全相同的方式为信号在MATLAB testbench绘制。

Xcelium和VCS模拟器:

  • 开始你的终端外壳

  • 改变当前目录下“dpi_tb”代码生成目录

  • 对于Xcelium shell中输入以下命令。

上海run_tb_xcelium.sh
  • 为风投您的shell中输入以下命令。

上海run_tb_vcs.sh
  • 仿真结束时,您应该看到下面的文本打印你的控制台:

* * * * * * * * * * * * * *测试完成(通过)* * * * * * * * * * * * * *

这结束了开始使用基于MATLAB SystemVerilog DPI组件生成的例子。