Java 是否可以在内核端比较两个DFEVar值

Java 是否可以在内核端比较两个DFEVar值,java,Java,我用的是Maxeler,MaxIDE。 我想在下一个周期中使用我的输入流作为输出流。我希望在if条件下做出决定。但是if条件不允许我比较两个DFEVar。我想知道这可能吗 类型不匹配:无法从DFEVar转换为boolean您不能使用常规if语句来比较两个DFE 变量。 应该改用三元运算符。见第2点。下面是更多细节 您可以在Maxeler教程中找到详细的解释 来自:MaxCompiler:Dataflow编程教程 数据流计算中的条件 控制影响数据流计算的条件有三种主要方法: 全局条件:这些是典型的

我用的是Maxeler,MaxIDE。 我想在下一个周期中使用我的输入流作为输出流。我希望在if条件下做出决定。但是if条件不允许我比较两个DFEVar。我想知道这可能吗


类型不匹配:无法从
DFEVar
转换为
boolean
您不能使用常规
if
语句来比较两个DFE 变量。
应该改用三元运算符。见第2点。下面是更多细节

您可以在Maxeler教程中找到详细的解释

来自:MaxCompiler:Dataflow编程教程

数据流计算中的条件 控制影响数据流计算的条件有三种主要方法:

  • 全局条件:这些是典型的大规模操作模式,具体取决于输入pa- 选择相对较少的参数。如果我们需要选择不同的计算 基于输入参数,并且这些条件影响设计的数据流部分,我们 只需为每个案例创建多个.max文件。某些应用程序可能需要进行某些转换,以使其成为支持多个.max文件的最佳结构。
    if(mode==1)p1(x);其他p2(x)
    其中p1和p2是使用不同.max文件的程序
  • 局部条件:取决于计算局部状态的条件。
    如果(a>b)x=x+1;否则x=x− 1;
    这些可以转换为数据流计算,如下所示
    
    x=(a>b)?(x+1):(x− 1);
  • 条件循环:如果我们不知道循环需要迭代多长时间,我们需要知道 关于循环的行为和循环迭代次数的典型值。一旦我们 知道我们可以期望的值的分布,数据流实现管道是最佳的 迭代次数,并将每个迭代块视为SLiC接口的操作, 由CPU(或其他内核)控制
  • 三值if运算符(
    ?:
    )在两个输入流之间进行选择。在多个选项之间进行选择 对于两个流,control.mux方法比嵌套的三元if语句更易于使用和读取