calyx icon indicating copy to clipboard operation
calyx copied to clipboard

Cider 2.0 Tracker Issue

Open EclecticGriffin opened this issue 1 year ago • 3 comments
trafficstars

We're finally at point where we can start running programs through Cider 2 and thus it now makes sense to have a tracker for the ongoing efforts to reach parity with Cider 1.

Known issues:

  • [x] #1968
  • [x] #2044
  • [ ] Missing a bunch of primitives
    • [x] Comb primitives are partially done (#1967)
    • [x] Seq Mems (#1967)
    • [ ] Mult / Smult (#2128)
    • [x] Div / Sdiv (#2158)
    • [x] Sqrt (#2158)
    • [ ] Bit slice
    • [ ] Fixed Point
  • [x] #2159
  • [x] Group termination takes an extra cycle due to only running convergence once. Issue: #1917
  • [x] Continuous assignments (#2064)
  • [x] par not supported (#2043)
    • [ ] cross branch conflicts warnings missing
  • [x] with not supported (#2064)
  • [x] invoke not supported (#2119)
  • [x] repeat not supported (#2158)
  • [x] multi-component programs not supported (#2119)
  • [ ] #2161
  • [ ] Data converter cannot handle fixed-point values
  • [ ] all the helpful info logging & error messages

EclecticGriffin avatar Feb 12 '24 20:02 EclecticGriffin

For some of these issues, like with not being supported, we should resolve the long-running with discussion and decide if we want to get rid of it completely or not.

rachitnigam avatar Feb 13 '24 06:02 rachitnigam

@rachitnigam Agreed, this is mostly just me getting down the current state of things. Also with is annoying to implement so I've thus far avoided it oops

EclecticGriffin avatar Feb 15 '24 20:02 EclecticGriffin

Wahoo; thank you for summarizing! Just capturing the synchronous discussion a little bit, on this point:

Does not generate an output JSON compatible with our testing infrastructure

I had suggested, in the spirit of trying to do the simplest possible thing here, that it might not be too hard to load/dump "raw bits," i.e., the exact bit-level contents of the memories. This is more or less what the RTL simulators already do (they are using hex-encoded text, but same difference). We could then pre-/post-process these files into our JSON format externally, alleviating the need for any serde hacking on Cider's side.

This of course omits all the non-memory results that Cider 1.0 can already produce. But I believe this is fine: all we really need to check correctness is those memory dumps.

sampsyo avatar Feb 27 '24 19:02 sampsyo

Officially closing this tracker since at this point Cider 2 has replaced Cider 1 and has passed parity in terms of programs

EclecticGriffin avatar Aug 06 '24 19:08 EclecticGriffin