<_florent_>
somlo: Thanks, sorry, I'll look at it.
<somlo>
no worries, just doing my regular CI duties :D
<_florent_>
This should be good now
<somlo>
yep, made it all the way to vivado this time (which is still at it, and will be for the next half hour) -- thanks for the prompt fix!
hrberg has joined #litex
FabM has quit [Ping timeout: 248 seconds]
mark1626 has quit [Quit: Client closed]
lkcl has quit [Ping timeout: 245 seconds]
<matb4[m]>
<sensille> "starting with fpgas with no..." <- personal reasons
indy_ is now known as indy
<somlo>
matb4[m]: I'd start with a good textbook on digital design (the theory behind, ultimately, what FPGAs and ASICs do) before I'd try "wrangling" FPGAs
<somlo>
I took a uni course, so not sure about what the best intro textbook might be, but I'd start researching *that* -- and start tinkering with FPGAs as part of working through that, or once I'm done ingesting that material
<somlo>
learn a bit of verilog / vhdl in the process, while at it :)
<gurki>
designing for asic is quite different from designing for fpga imho so you should make a pick about these
lkcl has joined #litex
<somlo>
gurki: I'd say everything down to the RTL (register-transfer logic, i.e., combinational and synchronous circuits, i.e., gates and flip-flops) is more or less reusable between FPGAs and ASICS (https://imgur.com/a/8cOU8Dr)
<somlo>
once you have RTL, there's a whole new world of physics and materials science if you want to make ASICS, but that's *on top of* (not *instead*) of the digital design you need to know to make fpga bitstream
<gurki>
somlo: your asic designs will be very, very different
<tpb>
Title: Intel nehalem processor core made FPGA synthesizable | Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays (at dl.acm.org)
<gurki>
anything thats remotely non-trivial will have quite different fpga and asic rtl
<somlo>
gurki: if you mean "I wrote this pile of verilog sources, now I'm going to make both an asic and also deploy it as fpga bitstream", I *may* be convinced; but "stuff I learned about writing RTL specification of digital circuitry that fulfills some required function" is stuff you can apply whether you target FPGA deployment or are aiming to make ASICS (except you need much *more*, *additional* knowledge of various kinds to do the latter)
<somlo>
so if someone asks "what should I learn to get into this field", the answer is "start by learning to make RTL", i.e., "digital design" as a field of study :)
<gurki>
somlo: i agree on the "you need to start with rtl" part, i just really, really disagree with that image you posted :P
<somlo>
you disagree because you assume it's the exact same source going to both fpga and asic? It may help thinking about it as optional conceptual paths taking you from a HDL spec to some form of hardware. You'll have tech mapping in both cases, at/after which the tools for making FPGA bitstream and ASICS will become wildly different, but semi-kidding, they're just "stages of a compilation pipeline" :)
<somlo>
and the sources you're compiling may be written with knowledge of which path you're going to take, but that's nitpicking at the level of abstraction I'm at, just trying to illustrate what the moving parts are (with emphasis on the *common* ones :) )
<gurki>
if i got a dollar everytime i had this discussion ... :)
<somlo>
bonus points for it being sort-of off-topic for this channel in particular... :D
<gurki>
well id like to see litex become more asic-friendly so ... :)
<somlo>
according to yourself, it'd have to be a hard fork ;)
<gurki>
honestly, i do not know enough about litex to have an oppinion
<somlo>
(because if not, my drawing above should apply ;)
<gurki>
i happily use its glue magic for quickly setting up simulations , but i hardly looked at internals
whitequark[cis] has joined #litex
<whitequark[cis]>
gurki: "swapping a few modules" is not the same as "completely different rtl"
<whitequark[cis]>
of course you're not going to use the same memory blocks in ASICs and FPGAs, or the same SERDES, or even the same ROM implementation
<whitequark[cis]>
but you're still using, for the most part, the same synchronous logic, and a somewhat similar clock tree