phanrahan / magma

magma circuits
Other
239 stars 22 forks source link

Magma 0.9 #419

Open phanrahan opened 5 years ago

phanrahan commented 5 years ago

Tentative features for next major release of Magma

leonardt commented 5 years ago

I added two things to start making things more concrete.

For "better coreir integration", one thing that I have been thinking about:

Add a mode to compile circuit combinational/sequential directly to verilog using veriloggen and pass through the black box modules to coreir

This would improve the output verilog without having to reconstruct structure (if statements) from the netlist format

For " Consistent mantle implementations and tests"

hwtypes implementation of mantle to test against

@cdonovick brought up that we could provide one-to-one magma/hwtypes implementations for mantle, we could use the hwtypes version for generating simulation vectors and formal (verify the mantle generated RTL is equivalent to the SMT)

phanrahan commented 5 years ago

Good comments. Thanks.

phanrahan commented 5 years ago

Caleb made the suggestion that we simplify the system as we move towards full support for coreir.

The suggestion was to move all the hwtypes/coreir primitives to magma. The goal is to build is to tightly integrate these primitives into magma. A secondary goal is to simplify the mantle implementation, which is complicated because the mantle primitives do mapping.

The new mantle would just contain functions built on the primitives, such as counters, shift registers, fifos, etc.