azonenberg changed the topic of ##openfpga to: Open source tools for FPGAs, CPLDs, etc. Silicon RE, bitfile RE, synthesis, place-and-route, and JTAG are all on topic. Channel logs: https://libera.irclog.whitequark.org/~h~openfpga
peeps[zen] has joined ##openfpga
peeps has quit [Ping timeout: 255 seconds]
Degi_ has joined ##openfpga
Degi has quit [Ping timeout: 255 seconds]
Degi_ is now known as Degi
peeps has joined ##openfpga
peeps[zen] has quit [Ping timeout: 255 seconds]
peeps[zen] has joined ##openfpga
peeps has quit [Ping timeout: 268 seconds]
peepsalot has joined ##openfpga
peeps[zen] has quit [Read error: Connection reset by peer]
peeps[zen] has joined ##openfpga
peepsalot has quit [Ping timeout: 268 seconds]
peeps has joined ##openfpga
peeps[zen] has quit [Ping timeout: 268 seconds]
peeps[zen] has joined ##openfpga
peeps has quit [Ping timeout: 268 seconds]
peeps has joined ##openfpga
peeps[zen] has quit [Ping timeout: 252 seconds]
peepsalot has joined ##openfpga
peeps has quit [Ping timeout: 255 seconds]
peeps[zen] has joined ##openfpga
peepsalot has quit [Ping timeout: 268 seconds]
peeps has joined ##openfpga
peeps[zen] has quit [Ping timeout: 255 seconds]
<pie_> so with all these opportunities for small scale silicon manufacturing these days, I'm fantasizing about doing a cpu for my bachelors thesis but I doubt I could find a local thesis advisor that could handle it and I would probably have to learn a LOT of stuff (I'm doing a crappy/medium backwater CS degree)
<pie_> is there a list of these somewhere? I can't actually remember any names
<pie_> i.e. these projects that provide asic manufacturing for individuals
<somlo_> pie_: I'd recommend checking with your ECE department (the separation between "software" / CS and "hardware" / ECE might be different at your school, so ymmv)
<somlo_> where I work (and get to take free courses as an employee) they have an entire track dedicated to building Analog and Digital VLSI circuits
<somlo_> they start in sophomore year (200) with resistors, inductances, capacitors, and op amps in general, then 300 with a deeper dive into [c]mos and their behavior in actual silicon (using cadence and a 45nm "mock" process node)
<somlo_> then a deeper dive into digital in 400, followed by an actual tape-out course
<somlo_> guess where I'm going with this is that there's a lot of moving parts, and ECE is where they teach that in school. You might be able to pick up enough on your own to play around with one of the "free" PDKs (was it "skywater", maybe?)
<somlo_> but I, for one, won't go near any of that before I take some courses where someone else teaches me what to even look for :)
<somlo_> just my $0.02 from the peanut gallery :D
somlo_ is now known as somlo
<pie_> (i found the openmdk stuff meanwhile, and i think tinytapeout is also on top of that?)
<pie_> yeah this seems hard :P <somlo_> but I, for one, won't go near any of that before I take some courses where someone else teaches me what to even look for :)
<pie_> there is a lot of great univerity courses on youtube but there also seems to be a lot of holes
<pie_> and its not the easiest thing to put together your own curriculum
<pie_> Im going to send a couple emails around but I dont think our EE people go in this direction, I know there is some FPGA stuff but of course thats just a stepping stone
<pie_> I have a bit of physics background and I'm OK at math, but yeah, still very "fantasy" stage currently :P
<pie_> somlo: thanks for the input!
<somlo> pie_: you're right, there *is* a lot of stuff out there, but, as you pointed out, the process of picking what to pay attention to is in itself difficult, particularly if you don't already know what you're looking for (bit of a catch-22)
<somlo> good luck with your thesis either way! :)
<pie_> I have way too much to do this semester but the time to start preparing is now
<pie_> if for no reason other than who knows when a tapeout will happen. I think tinytapeout has one listed for november
<pie_> I have two semesters left besides this one _if_ I go with the planned curriculum
<pie_> my best bet is probably trying to grind through some textbooks if nothing else. There Analog and Digital Electronic Circuits seems like a good intro textbook, and https://www.zerotoasiccourse.com/resources/ lists "CMOS VLSI Design by Weste & Harris: Expensive but excellent."
<pie_> not sure how much I need to bridge there,
<pie_> looking at other university syllabi should at least help a bit, somlo can you maybe mention where you are?
<pie_> and then beyond that I expect learning and maybe getting access to tooling will be the other big thing
<pie_> (so three big parts? theory, practical stuff, and actually doing the thing)
<pie_> doing anything analog would probably be too hard; I imagine device physics is kind of nuts. - but Id get an excuse to review some electrodynamics at least. solid state physics is ???. I sadly left my physics degree before I got to that part :p
<gurki> pie_: i highly recommend that weste & harria book
<pie_> thanks! It does look good
<gurki> that got me started into the asic world :)
<gurki> its a tough read though
<pie_> I'm not the brightest tool in the shed but we will see.
<gurki> analog isnt that hard if you restrict yourself to a few parts; its gets out of hand quickly though
<pie_> accidentally the everything :)
<gurki> the well and guardring stuff will keep your brain occupied for a while though
<pie_> for starters I'll probably be happy if I can get an inverter out of the tooling haha
<pie_> mm
<gurki> thats a good start :)
<gurki> however, if your goal is a cpu going for pure digital and hdl might make more sense
<gurki> bonus points since you can just synthesize it to an fpga in case you dont find a way to tape it out
<pie_> heh
<gurki> doesnt quite work that way with analog
<pie_> well, I mean, it's still an inverter whether I draw it in the layers or its spit out as a gate template thingy :pp
<gurki> you still need an actual pdk and tools ;)
<pie_> right
<gurki> if its hdl you dont have to care about the underlying process for quite a while
<gurki> you need to think about stuff like sram/bram once you make the call regarding fpga/asic at some point
<pie_> for the hdl side itd probably be good to fpga it as an intermediate step anyway?
<gurki> you cannot easily port more sophisticated designs
<gurki> intel wrote a nice paper, let me find it
<gurki> should be of interest to you :)
<pie_> on that note, is it possible to simulate physical layout in fpga layout? does that even make sense? i imagine the fpga device is sufficiently different from the asic; iirc fpgas are usually on the most advanced process node and e.g. skywater is 130nm
<gurki> you can typically synthesize easier stuff to fpgas, that stops working at some point
<gurki> i dont get that question
<pie_> or does that not even matter really and the design tooling should handle all the propagation calculations properly anyway
<pie_> *simulate asic layout
<gurki> yes you can extract a post-layout netlist and simulate that, including parasitics
<pie_> can I pack stuff into an fpga in a way similar to how it would be laid out on the asic and get useful information out of that?
<gurki> not exactly fast, but feasible
<pie_> what i meant ^
<gurki> no you cant
<pie_> well, screwed up the indentation there but whatever
<pie_> ok
<pie_> (I understand that fpgas have some kind of basic blocks plus interconnect or something like that)
<gurki> the fpga has a quite specific set of configurable logic blocks and muxes
<gurki> if its a fancy one you also get dsp slices and whatnot
<gurki> for asics you will typically use a standard cell grid, but apart from that you can just directly place optimized gates wherever it suits you
<pie_> meanwhile, thanks for the linl
<pie_> link
<gurki> np :)
<pie_> (when I said "as a gate template thingy" I meant standard cell but forgot the term)
<gurki> if theres a class at your university you should take it, if only to get to play with the "usual" asic tools
<gurki> its hard to impossible to get hands on these unless working in that field
<pie_> I know there is some xilinx fpga stuff but no idea about asic.
<pie_> I find it unlikely, but I'll be asking around.
<pie_> they almost certainly have stuff in Budapest, but I don't know if we have any tight enough connections there.
<pie_> my backup plan is to ask nicely here :pp
<gurki> there are options depending on how badly you want it
<gurki> theres a lot of small fabs/design companies willing to have external ppl write their thesis at their place in some kind of collaboration
<gurki> but generally speaking ppl wont grant access to somebody "asking nicely" :P
<pie_> it's a start though ;p
<gurki> sure :)
<pie_> if for no other reason than someone like gurki giving suggestions on how to go from there , e.g. the above
<pie_> Ill probably start asking around when I can demonstrate that Im not _completely_ useless in the topic
<pie_> modulo university opportunities
<pie_> whew, I'm getting tired just thinking about involved this is...
<gurki> well if you want to get into digital asics then having a good grasp of hdl is a good start :)
<pie_> whats a reasonable cpu clock speed that could be acheived on openmpw?
<gurki> i havent even looked into the skywater pdk so i cannot give a reasonable answer to that
<gurki> however, you will not compete with anything recent on 130nm
<pie_> yeah I didn't expect you to know, but IDK, order of magnitude tens - hundreds of MHz? GHz?
<gurki> my random guess would be tens of MHz, but dont quote me on that
<gurki> mb hundred if you spend a bit of effort
<pie_> totally random article has a listing of 40MHz
<gurki> they also seem to force you to use the openroad flow, i dont know how well that synthesis tool can optimize
<gurki> eh. openlane*
<pie_> trying to figure out how to copy the url...
<gurki> i guess i should have a look at how much effort id need to put into porting a random design just to see what kinda thing id get out of it
<pie_> https://www.techrxiv.org/ndownloader/files/38633663/1 An Open-Source ASIC Implementation of RISC-V based SoC
<pie_> lists 40 MHz (didnt read any deeper)
<pie_> "mpw-7 submission deadline is september 12"
<pie_> If I could make a shitty cpu that actually works, then I could write a shitty compiler for it, and a shitty operating system, and a shitty network stack :3
<pie_> the PCI bus isnt that hard right? xD
<pie_> ok no pci is actually really fast
<gurki> id start with an uart interface or something :P
<pie_> haha, right