<d1b2>
<fm> Hey everyone, I'm designing a rather complex accelerator to be implemented in a fpga but maybe later in an asic. Currently it is designed in systemverilog and tbh it looks like porting it into amaranth will make the rest of the design easier and it's formal verification too. But since I've never used Amaranth/nMigen/Migen, it's hard to predict its shortcomings that I will need to face in the future.. Is it a good idea?
Guest33 has joined #amaranth-lang
Guest33 has quit [Client Quit]
<d1b2>
<dragonmux> from our own experiences designing hardware in Amaranth that we've first sim'd then run on FPGAs to verify then used the open ASIC flows (OpenLANE targeting efabless Sky130 predominantly) on.. it is worth doing at least once
<d1b2>
<fm> @dragonmux did you only tried it once then? Or have you been using Amaranth ever since?
<d1b2>
<dragonmux> we were using Amaranth before, but our wife and us wrote the Amaranth OpenLANE integrations and we've made a couple of ASICs that way (though regrettably not yet taped out to the MPWs) with plans to make more in the future
<d1b2>
<dragonmux> it's been an ongoing project of ours to completely build an Amaranth platform that defines the Caravel harness so we can finish a tapeout and get one of the projects made
<d1b2>
<dragonmux> a; minus the harness, though.. the OpenLANE integration works and allows you to make usable ASICs
<d1b2>
<Ada> minus the harness, though.. the OpenLANE integration works and allows you to make usable ASICs
<d1b2>
<fm> why don't you just "compile" Amaranth into verilog and build the ASIC from there?
<d1b2>
<dragonmux> simply enough, because while that works.. it means having to manage the flow configuration outside of Amaranth and remember how exactly to run the flow.. when the Amaranth Platform object can just codify it and have the config live as part of the platform, tunable as part of running your Amaranth build
<d1b2>
<dragonmux> basically.. 2 steps and 2 lots of config vs a single step and all the config in one spot..
<d1b2>
<fm> Ok, overall Amaranth looks like a better choice
<tpw_rules>
dragonmux: are those projects public anywhere?
<d1b2>
we plan to build an open AVR core w/ JTAG-PDI and peripherals in Amaranth and target that to the Skywater/efabless shuttles
<tpw_rules>
have you worked with nix before?
<d1b2>
<dragonmux> a little, we use it with Aki for our shared infrastructure
<tpw_rules>
ah cool. i've been pondering about its applications in this sort of cross-tool complex build process. don't love all the sort of half-implemented python wrappers
<tpw_rules>
not sure what it might look like to formalize it, and it probably could not be the default
GenTooMan has quit [Ping timeout: 244 seconds]
GenTooMan has joined #amaranth-lang
RobertJrdens[m] has quit [Quit: You have been kicked for being idle]