Haskellator/TODO.md
2024-12-08 20:37:10 -05:00

1.9 KiB

General and Planning

  • might need many validation phases
    • it's conceivable that one could construct a Yosys memory Cell with invalid parameters
    • detect mismatched sizes in assignments
  • need canonical form making it easy to run all these validation passes
  • are recursive slices inclusive
  • what are the semantics of connection <conn-stmt>? Where is <conn-stmt> employed?
  • Validate that 123456789[0:9][0:8] is valid RTLIL
  • reload VSCode window
  • add validation section to README
  • just support Cell memV2
  • for value, what happens if we have 0 binary digits
  • ask ChatGPT about how to get my parser to ignore comments... - should probably wait until parser is finished before asking
  • modify AST to support src tracking - needed to allow for human readable and correctable validation errors
  • you could have a concated signal that gets sliced
  • when writing simulator, must specify directions on cell ports
  • in the , why are we allowed to have before and after the optional stmt?
  • make TODO file
  • inspect Chris's mini-RTLIL
  • split/organize imports/exports by section
  • add RST grammar file to repo
  • figure out whitespaces
  • I think only EOL terminated parsers should be responsible for pre-winding the Parsec scanner to the next non-space...
  • lift grammar into prover and show that all EOL terminated parsers are either followed by EOF or a keyword such "module", "autoidx", etc
  • name parsers that that we know where failures occured?
  • first, manually inspect switch parser and try and see if it can infinitely recurse... Then empirically validate against corpus

Simulation

  • dump to VCD
  • Write dynamically typed executor in Haskell
  • Subsequent IR passes may emerge natrually

Optimizations

  • squeeze out recursive slices