klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
pretty_dumm_guy has quit [Quit: WeeChat 3.4]
sdfgsdfg has quit [Quit: ZzzZ]
biblio has quit [Quit: Leaving]
Burgundy has quit [Ping timeout: 240 seconds]
dude12312414 has quit [Remote host closed the connection]
dude12312414 has joined #osdev
scoobydoo_ has joined #osdev
scoobydoo has quit [Ping timeout: 256 seconds]
scoobydoo_ is now known as scoobydoo
heat has quit [Remote host closed the connection]
heat has joined #osdev
gog has quit []
scoobydoo has quit [Ping timeout: 256 seconds]
scoobydoo has joined #osdev
nyah has quit [Ping timeout: 240 seconds]
MiningMarsh has quit [Ping timeout: 256 seconds]
ElectronApps has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
MiningMarsh has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
heat has quit [Ping timeout: 268 seconds]
[_] has joined #osdev
[itchyjunk] is now known as Guest2700
[_] is now known as [itchyjunk]
Guest2700 has quit [Killed (molybdenum.libera.chat (Nickname regained by services))]
Lugar has quit [Quit: Bye]
<Jari--> morning * /w
sdfgsdfg has joined #osdev
<Jari--> sdfgsdfg: morning from Finland, EU
<sdfgsdfg> afternoon from australia
<Jari--> sdfgsdfg: is Australia's timezone same as Japan's ?
<Jari--> approximating it is
<sdfgsdfg> probably
<sdfgsdfg> gmt+8
<Jari--> got a girlfriend in Japan
<sdfgsdfg> whats she doing there, tell her to come to finland
<Affliction> East coast is +10/11, west coast is +8
<Jari--> sdfgsdfg: remote love
<Affliction> the central states have weird :30 timezones
<sdfgsdfg> lol my bad, yes east coast is +10, melbourne here
<sdfgsdfg> I think +11 is queensland
<Affliction> other way around, southern states have DST, we don't
<Mutabah> +11 for daylight savings
<sdfgsdfg> they dont like the timezone changes
<Affliction> (I'm in Brisbane)
<sdfgsdfg> savings thing
srjek|home has quit [Ping timeout: 240 seconds]
<sdfgsdfg> after 9 yrs in qld I could call myself a qlder too :P
<Affliction> born here, probably die here heh
<Affliction> Haven't been much further south than Canberra
<sdfgsdfg> why don't you try GC or SC
<sdfgsdfg> or byron over the summer, can you travel interstate?
<Affliction> Still requires testing ahead of time I think
RAMIII has joined #osdev
jjuran has quit [Ping timeout: 256 seconds]
the_lanetly_052_ has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
jjuran has joined #osdev
sdfgsdfg has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
sonny has joined #osdev
sonny has left #osdev [#osdev]
asdew has quit [Ping timeout: 268 seconds]
<sham1> DST is pain
biblio has joined #osdev
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
<klange> I like not having it, but not having it does not mean I am free from its pain as I still have to deal with places that have it.
<clever> i have daily meetings at noon, except when DST decides to randomly move it to either 11am or 1pm, lol
<clever> both me and the meeting are moving
<clever> and of course, we arent synchronized!
<sham1> I shouldn't suffer from 1 hour jetlag semianually
Oli has joined #osdev
anandn has joined #osdev
biblio_ has joined #osdev
biblio has quit [Ping timeout: 240 seconds]
biblio_ is now known as biblio
ravan has quit [Read error: Connection reset by peer]
ravan has joined #osdev
anandn has quit [Quit: Textual IRC Client: www.textualapp.com]
anandn has joined #osdev
Jari-- has quit [Ping timeout: 256 seconds]
dormito has quit [Quit: WeeChat 3.3]
GeDaMo has joined #osdev
dormito has joined #osdev
Jari-- has joined #osdev
mavhq has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
mavhq has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
ahalaney has joined #osdev
MiningMarsh has quit [Ping timeout: 256 seconds]
anandn has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
MiningMarsh has joined #osdev
MiningMarsh has quit [Client Quit]
MiningMarsh has joined #osdev
Oli has quit [Ping timeout: 256 seconds]
nyah has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
MiningMarsh has quit [Ping timeout: 240 seconds]
MiningMarsh has joined #osdev
xenos1984 has joined #osdev
ElectronApps has quit [Remote host closed the connection]
dude12312414 has joined #osdev
ElectronApps has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
MiningMarsh has joined #osdev
Lugar has joined #osdev
srjek|home has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
MiningMarsh has joined #osdev
dude12312414 has quit [Remote host closed the connection]
dude12312414 has joined #osdev
wgrant has quit [Ping timeout: 256 seconds]
ElectronApps has quit [Remote host closed the connection]
[itchyjunk] has joined #osdev
gog has joined #osdev
the_lanetly_052 has joined #osdev
the_lanetly_052_ has quit [Ping timeout: 240 seconds]
mahmutov has joined #osdev
gjnoonan has joined #osdev
Oli has joined #osdev
mahmutov has quit [Quit: WeeChat 3.1]
FreeFull has joined #osdev
mahmutov has joined #osdev
pie_ has joined #osdev
<pie_> Hi, is there something like osdev but for custom CPU architectures?
<GeDaMo> There's #cpudev but only 5 nicks
<GeDaMo> ##fpga maybe
<pie_> well, that's a start, thanks!
<pie_> if anyone thinks of anything else, please tell
<GeDaMo> ##homebrewcpu
srjek|home has quit [Ping timeout: 240 seconds]
Oli has quit [Quit: leaving]
Oli has joined #osdev
netbsduser has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
air has quit [Quit: cria 0.2.9cvs17 -- http://cria.sf.net]
<sortie> pie_, certainly if there isn't, someone should build that community :)
<geist> yah
<geist> TIL that Coherent OS was not based on existing unix or bsd sources
<geist> i always thought it was a variant, but apparently it was a from scratch implementation of unix at the time (mid 80s)
<moon-child> pie_: https://opencores.org/
<bslsk05> ​opencores.org: Home :: OpenCores
<bslsk05> ​www.homebrewcpuring.org: Homebrew Computers Web-Ring
air has joined #osdev
<GeDaMo> pie_: also, have you seen Ben Eater's breadboard CPU videos?
<GeDaMo> Ben Eater - Building an 8-bit breadboard computer! https://www.youtube.com/playlist?list=PLowKtXNTBypGqImE405J2565dvjafglHU
<bslsk05> ​playlist 'Building an 8-bit breadboard computer!' by Ben Eater
<bslsk05> ​playlist 'Making an 8 Bit pipelined CPU' by James Sharman
wgrant has joined #osdev
<geist> also looks like magic-1.org is running today
<geist> he's had that thing alive for i thnk 15 years now
mahmutov has quit [Ping timeout: 256 seconds]
LostFrog has quit [Quit: ZNC 1.8.2+deb2 - https://znc.in]
PapaFrog has joined #osdev
FreeFull has quit [Ping timeout: 256 seconds]
Oli has quit [Quit: leaving]
dormito has quit [Quit: WeeChat 3.3]
FreeFull has joined #osdev
<gorgonical> I agree with Bill here: somehow FPGAs dont feel like the same thing
<gorgonical> Like it's cheating or something
<gog> how to program fpga to be perfect girlfriend
<gog> not cheating
<gog> :|
<kazinsal> field-programmable waifu
* gog pets kazinsal
* kazinsal nyaas unexpectedly
<kazinsal> uh oh. I've become a catboy
<gog> :3
GeDaMo has quit [Remote host closed the connection]
<gorgonical> so how does an FPGA actually work? like, are you just ultimately providing the truth-table values for each gate?
<zid> they don't want you to know
<gorgonical> Is that what's happening? You program the lookup tables and the block references that table?
<zid> but they're basically a giant shift register and you clock it all in, and yea, the bits determine if it's an and/or/xor etc
<zid> in a big grid
<gorgonical> So surely there's trade-offs between having per-block tables vs a big central table or something
<kazinsal> basically each logic block has a 4-input LUT, an adder, and a flop-flop
<gorgonical> And the purpose of the block may not use all of these components
<gorgonical> But the general idea being any gate configuration you want you can achieve with these pieces
<kazinsal> yeah FPGA optimization is magic
sortie has quit [Ping timeout: 260 seconds]
<gog> i'd really like to play with one
ahalaney has quit [Quit: Leaving]
<gog> i should look into some mini dev boards or something
<gorgonical> So probably there's a lot more happening under the hood. Cause the blocks have to be routed, etc. So assumedly there's almost no FPGA where you can take gate logic and just apply it?
<gorgonical> As in a "really see what's happening" approach?
<gorgonical> My understanding is that you take something like verilog and push it through various tools that transform it into the FPGA magic configuration you need, which will not resemble in any way the verilog you put in
sortie has joined #osdev
<gog> i have no idea how any of it works lol
<gog> i just know i want one as a toy
heat has joined #osdev
<zid> I just want a microcontroller and an spi thingy
heat has quit [Remote host closed the connection]
<bauen1> zid: a digispark maybe ? it's an attiny85 with a very hackish usb port and enough free wires for spi :D
biblio_ has joined #osdev
biblio has quit [Ping timeout: 240 seconds]
<zid> by microcontroller I basically mean 'controller', not that micro :P
gog has quit [Ping timeout: 250 seconds]
srjek|home has joined #osdev
biblio_ is now known as biblio
srjek has joined #osdev
srjek|home has quit [Quit: Leaving]
gog` has joined #osdev
Oli has joined #osdev
<pie_> i patiently await your lecture on monday :3 <gorgonical> so how does an FPGA actually work? like, are you just ultimately providing the truth-table values for each gate?
<geist> gorgonical: basically it's a series of LUTs yes
<geist> may be a huge array of say 5 in 2 out LUTs with a lot of interconnecting traces
<pie_> i think that might be CPLDs but Im not sure<gorgonical> So probably there's a lot more happening under the hood. Cause the blocks have to be routed, etc. So assumedly there's almost no FPGA where you can take gate logic and just apply it?
<geist> also each LUT may have some additional features like a 1 or 2 bit latch, or a dedicated add circuit, or an inverter on every input/output
<geist> plus some dedicated SRAM blocks spread around the FPGA, some PLLs and some pin drivers
<geist> but the bulk of the lifting are the LUTs
<geist> what's fascinating is to look at what the fpga compiler comes up with
<geist> you can usually get it to visualize how it decided to flatten your logic
<pie_> various things mentioned here and in the boxes at the bottom https://en.wikipedia.org/wiki/Complex_programmable_logic_device
<bslsk05> ​en.wikipedia.org: Complex programmable logic device - Wikipedia
<geist> yah CPLDs and FPGAS are pretty similar nowadays
<geist> they used to have more of a difference, but now it's kinda like cpu vs microcontroller. similar things, largely scale and how they're used
<geist> my experience is modern CPLDs are usually smaller, lower power, and have built in flash so you can program them and they stay that way
<geist> FPGAs usually have an external flash chip and reload their configuration on powerup
<geist> but are usually bigger
<geist> (more LUTs)
<clever> would a CPLD just have an internal flash array, and still load the config, or is it more that the flash is spread over the whole chip, and each config element IS a flash cell?
<geist> good question. i'm guessing the former?
<geist> but could be the latter. it's my udnerstanding that the config that an fpga loads is largely sram cells spread all over the luts
<geist> so it could be you could embed the flash or eeprom in the luts themselves. maybe slower, but requires no load time
<geist> and thus a cpld is born
<clever> you could probably figure out, by looking at how quick of a "boot time" the datasheet claims
<pie_> there have been some fpga reverse engineering efforts
<pie_> not sure if they really mainly only worked on the bitstreams or if that actually yielded much hardware info
<pie_> maybe the datasheets do say enoguh
<pie_> *enough. - or does anyone have access to TechInsights? :p
<geist> i dunno, both xilinx and altera document their fpgas pretty well
<geist> you can find good descriptions of precisely how the luts work, how they're laid out, etc
<geist> the hard part is figuring out how the bitstream maps to them, but it doesn't look *tremendously* hard. if you look at an uncompressed bitstream it really does look a lot like a gigantic bitmap
<geist> but that being said the lattice ones are well understood, such that there's an open soruce fpga compiler for it
<geist> i think the problem is fpga compilers are ridiculously complicated
<vancz> i would be curious to find out what they do one of these days
<vancz> and what makes the IDEs start at 30gigs or whatever
<vancz> at least for xilinx
<vancz> though im suspicious a lot of that is having like 10 copies of toolchains in them and maybe lots of IP? :p
<vancz> no idea
<vancz> https://www.eevblog.com/forum/fpga/wtf-xilinx/ suggests the following:
<vancz> All FPGA tools take a massive amount of space because each supported part needs it’s own model, that specifies not only features bitstream format etc but also all the detailed timing info to run routing, synthesis etc. Thus the higher end the supported parts are the bigger the models, and you have probably hundreds of them (a model might be “Only” Few hundreds megs of data, however you).
<bslsk05> ​www.eevblog.com: WTF Xilinx - Page 1
<clever> vancz: was talking about that timing stuff over in #cpudev, how the tooling basically needs to compute the entire propogating time from the input flipflops to the output flipflops, and then compute what max freq the design can handle
<clever> if the clock is over that number, the signal wont have time to propogate thru every gate, and cross whatever whacky distances the router picked
<vancz> That makes sense.
<clever> and then you may need to modify your design to pipeline things, so it does less work in a given clock cycle
<clever> if you split the job into 2 halves, then the propogation time is halved, so you can run at twice the freq
<clever> if there are no other bottlenecks
<clever> but now it takes 2 clock cycles to do the job
<clever> with an asic, your not limited by how the fpga laid out its gates and LUTS, so you can make things more compact
<clever> but you still have other issues
<clever> the fab-house will have a set of rules, on how close gates on the silicon can safely be packed, and your router needs to follow those rules
<vancz> You're not limited by how the fpga is laid out, you're limited by how you laid it out :p
<clever> but depending on what resources your using, you may run out of something like blockram in a given area
<clever> so the router has to wonder over to the other half of the chip, and steal some from there
<clever> and now your getting a bonus round-trips to the other side of the chip and back again
<clever> simplest way i can see to cause that, is to just shove all of the fpga block ram into a single array in my verilog
<clever> then the tooling has to generate an addr decoder, that routes things to the right region of the chip, based on the index i used
<clever> and what address i access, changes the access latency
<clever> but to hide that, the tooling has to just take the worst latency possible, and declares that to be the speed limit
pretty_dumm_guy has joined #osdev
gog` is now known as gog
anandn has joined #osdev