Simulink中的案例陈述

时间:2011-05-31 10:06:38

标签: fpga simulink xilinx

我无法弄清楚如何继续:

我正在尝试建立一个模型:

  • 它将有4个输入(布尔i / p)
  • 它将有1个输出(签名:8位)

它会执行以下操作:

  • 根据哪个输入为1,它将给出反映DataRate的相应输出。

如果我必须用Matlab编写,我会写这样的东西:

if (portA==1)
    PSDU_Data_Rate=1;
    elseif(portB==1)
        PSDU_Data_Rate=2;
    elseif (portC==1)
        PSDU_Data_Rate=5.5;
    elseif(portD==1)
        PSDU_Data_Rate=11;
end

我正在附加,我正在为相同的功能开发模型的一部分:

Data Rate Calculate

如何处理或编码纠正或建议如何改进它的任何想法都会非常有用。

由于

1 个答案:

答案 0 :(得分:0)

由于您有4个不同的输入而不是带有枚举值的单个输入,因此请使用If - Else,而不是Case语句。我正在添加如何完成此操作的截图。请注意,如果要在默认情况下选择其中一个数据速率(如果没有任何输入为非零),If块也允许您使用Else输出。

If阻止设置:

  • 输入数量: 4
  • 如果表达式: u1~ = 0
  • Elseif表达式: u2~ = 0,u3~ = 0,u4~ = 0

该模型由连接到一组If块的If Action Subsystem块组成。可以使用Merge块将后者的输出组合成单个信号。

Top-level model

One of the If Action Subsystems