Skip to content

[P3] Const related operation won't proceed const iter during prologue #216

@tancheng

Description

@tancheng

Const related operations, e.g., phi_const

  • Requires prologue to skip the non-const operand for the first time
  • May or may not consume the const queue and the arrived data on the input port, which needs manually ordering the const data inside the const queue:
    s.recv_all_val @= ((s.first & s.recv_const.val) | \
    (~s.first & s.recv_in[s.in0_idx].val))
    s.send_out[0].val @= s.recv_all_val
    s.recv_in[s.in0_idx].rdy @= s.recv_all_val & s.send_out[0].rdy
    s.recv_const.rdy @= s.recv_all_val & s.send_out[0].rdy
  • This becomes more complicated when prologue is more than 1 cycle and multiple const related operations mapped on that tile

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions