lakeroad icon indicating copy to clipboard operation
lakeroad copied to clipboard

List of bugs + problems discovered in simulation models

Open gussmith23 opened this issue 1 year ago • 0 comments

  • Lattice ALU54B model has an always block that is missing a signal in its sensitivity list. This was found when updating things to use always_comb. See https://github.com/uwsampl/lakeroad-private/blob/ac9fdc6877873c74a7323f7de7ce13b09e3f3e01/lattice_ecp5/modified_ALU54B.v#L1951. I think this is a copy-paste bug; if you look at the corresponding code in ALU54A.v, the corresponding always block has the same sensitivity list, which is correct in the case of ALU54A because the missing signal isn't actually present in that module at all. So I suspect that code was copied from ALU54A and not updated.
  • ALU54A has a combinational loop, r_out depends on c_mux which depends on r_out_lsb_gen which depends on r_out.
  • Across all models, but esp. in ALU54A/B, lots of latches are being inferred. I'm unsure whether this is actually a problem with the models (because these aren't meant to be synthesized), but it's a problem for our usecase.
  • Should ALU54A have a OPCODEOP1_1_CE input?

gussmith23 avatar Jul 10 '23 00:07 gussmith23