管道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;结束
在数据反馈循环。例如,在下面的代码中,您不能管道一个表达式包含
t
或pvar
变量:持久pvar;t = u + pvar;pvar = t + v;
你不能使用coder.hdl.pipeline
为单变量插入一个流水线寄存器或其他操作来表达。学习如何插入一个流水线寄存器函数输入变量,明白了端口寄存器。