You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is it true that if statements with withgroups is still an ongoing discussion: calyxir/calyx#1699?
Semantically, I believe my example makes sense, where one of the lhs/rhs of the comparison is a result of some operation, which can be either a combinational circuit or sequential ones (like multi_pipe_op/divi_pipe_op/remui_pipe_op, since the upstream tools should be unaware if an operation is implemented combinationally or sequentially in hardware?).
As separate question, is there any workaround over this Well-formedness check, so that we can still have if %cond with comb_group, and that comb_group somehow compares remui_pipe_op.out with %arg0 combinationally?
No, for non-combinational computations, you need to manually perform the computation in a group, store the value in a register, and then use the value of the register to perform the computation. For example:
compute_cond; // computes rem and store in reg
if reg.out { ... } else { ... }
Does
IfOp
'sGroup
has to be aCombGroupOp
, as required here?What if we have some examples like:
where
%cond0
involves comparing theout
ofremui_pipe_op
, which is not combinational?What was the original design criteria? I believe @mortbopet is the original author. Also tagging @rachitnigam @cgyurgyik
The text was updated successfully, but these errors were encountered: