coreblocks icon indicating copy to clipboard operation
coreblocks copied to clipboard

Project cleanup

Open tilk opened this issue 1 year ago • 8 comments

There is a need to move stuff around to make things more intuitive for newcomers (and others). Some problems in directory organization are:

  • The coreblocks/params directory is a mess. It was supposed to contain things related to parametrization (at the beginning, mostly GenParams). Now it also contains:
    • dependencies - the dependency manager,
    • keys - the dependency keys (which we agreed to have in one place),
    • isa and instr - RISC-V architecture related things,
    • optypes - our internal encoding of instructions, which is entangled with ISA, decoding and FUs.
  • The structs_common directory somehow contains a CSR unit. The directory was meant to contain implementation of data structures, i.e. things that are shared between components.
  • The coreblocks/transactions/lib file is one big ball of stuff, it should finally be split.
  • The stages directory is weird, it contains:
    • The announcement module, in a file which is somehow named backend,
    • The retirement stage,
    • Abstractions related to functional units/blocks.

There are potentially other issues I can't remember right now, please write them down in comments.

tilk avatar Jul 14 '23 14:07 tilk