主要内容

管道MATLAB表达式

coder.hdl.pipeline编译指示,您可以指定管道的位置和数量登记在MATLAB生成HDL代码®表达式。

如果你插入管道寄存器,使分布式流水线,高密度脂蛋白编码器™自动流水线寄存器将关键路径移动。

如何管道MATLAB表达式

插入管道寄存器输出的表达式在MATLAB代码中,地方的表达coder.hdl.pipeline编译指示。指定寄存器的数量。

你可以插入管道寄存器生成的HDL代码:

  • 在整个的输出赋值语句的右边。

    下面的代码插入三个管道在MATLAB的输出寄存器表达式,a + b * c:

    y = coder.hdl。管道(a + b * c, 3);
  • 处于中间阶段在一个长MATLAB表达式。

    下面的代码插入五管道计算后的寄存器b * c在一个长表达式,a + b * c:

    y = a + coder.hdl。管道(b * c, 5);
  • 嵌套编译指示的多个实例。

    下面的代码插入五管道计算后的寄存器b * c,两个管道在整个表达式的输出寄存器,a + b * c:

    y = coder.hdl。管道(a + coder.hdl。管道(b * c, 5), 2);

另外,插入一个流水线寄存器而不是多个流水线寄存器,可以省略第二个参数的编译指示:

y = coder.hdl。管道(a + b * c);
y = a + coder.hdl。管道(b * c);
y = coder.hdl。管道(a + coder.hdl。管道(b * c));

流水线的局限性MATLAB表达式

请注意

当你使用MATLAB代码内MATLAB函数块并选择MATLAB Datapath公司架构中,这些限制并不适用。

高密度脂蛋白编码器不能插入一个流水线寄存器在MATLAB的输出表达式如果任何变量的表达式是:

  • 在一个循环中。

  • 持久变量映射到一个国家的元素,就像一个状态寄存器或内存。

  • 一个函数的输出。例如,在下面的代码中,您不能为一个表达式包含添加流水线寄存器y:

    函数[y] = myfun (x) y = x + 5;结束

  • 在数据反馈循环。例如,在下面的代码中,您不能管道一个表达式包含tpvar变量:

    持久pvar;t = u + pvar;pvar = t + v;

你不能使用coder.hdl.pipeline为单变量插入一个流水线寄存器或其他操作来表达。学习如何插入一个流水线寄存器函数输入变量,明白了端口寄存器

另请参阅

相关的话题