circt icon indicating copy to clipboard operation
circt copied to clipboard

[Seq] Unify `seq`-dialect memory representations

Open mortbopet opened this issue 2 years ago • 6 comments

As noted in https://github.com/llvm/circt/pull/5009, https://github.com/llvm/circt/pull/5025, seq.firmem was introduced to initially help factoring out memory handling in the FIRRTL-to-HW pass. Once done, it is then intended that it and seq.hlmem can be unified into a single representation - seq.mem - seeing as they both essentially try to solve the same problem.

i.e.

  • seq.firmem + seq.hlmem => seq.mem
  • seq.firmem.read_port/write_port/read_write_port + seq.read/write/read_write => seq.read_port/write_port/read_write_port

mortbopet avatar Jun 23 '23 07:06 mortbopet

CC @fabianschuiki

mortbopet avatar Jun 23 '23 07:06 mortbopet

Thanks for opening a tracking issue!

fabianschuiki avatar Jun 23 '23 15:06 fabianschuiki

@fabianschuiki How's this going?

teqdruid avatar Jul 25 '23 18:07 teqdruid

Still letting the dust settle on seq.firmem internally. This has been enabled in the last release of firtool, and I'm collecting feedback and looking out for issues that come up with it in the next few release cycles -- just in case we need to quickly revert it. After that I'm all for merging these two representations, and homogenizing the latency annotations as needed.

fabianschuiki avatar Jul 25 '23 21:07 fabianschuiki

@fabianschuiki certainly the dust has settled by now...

teqdruid avatar Jun 21 '24 21:06 teqdruid

Yeah we should definitely unify these 😿

fabianschuiki avatar Jun 27 '24 18:06 fabianschuiki