google / xls

XLS: Accelerated HW Synthesis
http://google.github.io/xls/
Apache License 2.0
1.21k stars 178 forks source link

Add block support to eval_ir_main #545

Open meheff opened 2 years ago

meheff commented 2 years ago

eval_ir_main only supports functions at the moment. https://github.com/google/xls/issues/534 discusses adding procs. We also need block support.

We have the (block interpreter) which provides an API for interpreting blocks. It needs to be tied into eval_ir_main.

The couple big complications with blocks is multi-output and notion of cycles. We'll need some way of specifying particular inputs at particular cycles and expecting/extracting outputs similarly.

meheff commented 2 years ago

Also, for blocks which implement ready/valid interfaces it'd be useful to have the tool take care of the flow control and the user can just specify the inputs and get the respective data outputs.

meheff commented 2 years ago

Another nice feature would be to support VCD format. We could both read in VCD files generated from a external verilog test benchmark, and generate them for use in waveform viewers and other tools for example.

cdleary commented 2 years ago

Just a note that this issue is still up to date. @grotival is also working on improving block interpreter to work with instantiations.

cdleary commented 2 years ago

Note the related issue #546