m-labs / nmigen

A refreshed Python toolbox for building complex digital hardware. See https://gitlab.com/nmigen/nmigen
https://nmigen.org
Other
662 stars 57 forks source link

ASIC support tracking issue #184

Open whitequark opened 5 years ago

whitequark commented 5 years ago

A number of people have expressed a desire to use nMigen for ASIC design. This issue tracks missing aspects of that workflow.

(There are likely more.)

programmerjake commented 5 years ago

I would think that most SRAMs don't get reset on ASICs either, so that shouldn't interfere with BRAM inference.

whitequark commented 5 years ago

I would think that most SRAMs don't get reset on ASICs either, so that shouldn't interfere with BRAM inference.

The problem isn't that the SRAM itself gets reset, but that you might want to fold address or data registers into an SRAM core. This is less of a problem in nMigen than in Verilog because some registers are implicit in the read port, but it's still a problem if a few of them are pipelined; e.g. Xilinx offers this as an option on BRAMs.

Of course if you're making an ASIC you can just make those registers with an asynchronous reset, so asynchronous reset isn't a problem there, but I didn't say it is.

programmerjake commented 5 years ago

Ah, missed that.