whitequark[cis] changed the topic of #prjunnamed to: FPGA toolchain project · rule #0 of prjunnamed: no one should ever burn out building software · https://prjunnamed.org · https://github.com/prjunnamed/prjunnamed · logs: https://libera.catirclogs.org/prjunnamed
<DemiMarieObenou4> Given the input & output of a P&R tool, how difficult is it to check that the output is correct? If it is easy to check that the output is correct, I wonder if a machine learning model could be used.
<whitequark[cis]> it's easy to check that the output is correct. and yeah, people have been doing ML-driven P&R for a while
<whitequark[cis]> synthesis too, with pathetic results
<DemiMarieObenou4> whitequark[cis]: Is it any faster/better/etc than the traditional way?
<whitequark[cis]> far as i can tell it's just a fad
<DemiMarieObenou4> Are the results garbage? I couldn’t tell if “with pathetic results” only applied to synthesis or to P&R as well.
<whitequark[cis]> synthesis, where it's like... only occasionally correct at all
<DemiMarieObenou4> whitequark[cis]: Is that because it has no advantages over standard P&R?
<whitequark[cis]> it doesn't seem practical enough for any major vendor to use it
<DemiMarieObenou4> I wonder if the immense amount of work put into ML would make things better now.
<RobTaylor[m]> Maybe placement (I have a collection of interesting papers for ASIC placement, padring, and pinout) but I very much doubt routing. You could have some mileage by providing a model with a routing tool and a tool to understand the graph of the design and using it to vary parameters.
<DemiMarieObenou4> Which one is slower in practice?
<RobTaylor[m]> Sorry I don’t understand the question
<DemiMarieObenou4> Which step of P&R takes more time?
<whitequark[cis]> routing takes a lot more, usually
<RobTaylor[m]> Yeah routing by far. It’s iterated until completion
<RobTaylor[m]> Demi Marie Obenour: David Z. Pan's team at utexas has done some investigation, worth reading through their papers.
<ignaloidas> About routing on larger spaces being easier - from experience with Factorio belt balancer finding using SAT (it's honestly not that different from a very, very small scale P&R), for the same "circuit", only the sizes at the limits of where it's possible to fit them get slow, if you bump it so it's like 20% more space, you get as results as fast as you're gonna get, more room will just take more time to express and slow you down a very small
<ignaloidas> amount
<galibert[m]> isn't placement also iterated until completion? I thought it was using annealing or something similar
azonenberg has quit [Ping timeout: 276 seconds]
azonenberg has joined #prjunnamed
cr1901_ has joined #prjunnamed
cr1901 has quit [Ping timeout: 265 seconds]
<vancz> i just remembered logisim or what also has HDL synthesis
<vancz> today, attempt number 3 at trying to get myself to do something with serv. I have copy pasted the demo commands in the readme, way to go me.
<vancz> can I get a nudge?
<vancz> So given that I'm primarily interested in hooking up MMIO, and clock in, I guess I want the Serving implementation?: https://serv.readthedocs.io/en/latest/reservoir.html
<vancz> and then one more thing I need to do is figure out what to do about the timer interrupt to make serv/zephyr happy
<vancz> derp, I think I actually want to hook up the Mem interface in the top right of the diagrams
<vancz> AFAIU "RF" is the internal registers?
<vancz> "and an RF interface for connecting to an SRAM for GPR and CSR registers."
<vancz> so I just want that to be part of the RTL model
<vancz> ok RF is Register File not radio frequency (well, registers are fast I guess?)
<vancz> so, I probably dont care about Data(?)/gpio since right now everything is MMIO. I dont care about RF and want it to be internal. I do care about Mem.
<vancz> I guess I could try just cannibalizing a Servant example and exposing the ram lines
jn has quit [Ping timeout: 252 seconds]