whitequark,
@whitequark@mastodon.social avatar

✔ make one part of a RGMII MAC work by adding LUT4s to a design that do nothing
✔ make the other part of the RGMII MAC work by rearranging some of the wires to connect the exact same pins but with different wires adjacent to each other

today is sorcery day

whitequark,
@whitequark@mastodon.social avatar

Lattice iCE40 doesn't have IODELAY but we have IODELAY at home

(yes, this actually does delay the clock somewhat reliably, before/after for length=8)

azonenberg,
@azonenberg@ioc.exchange avatar

@whitequark Are you exploiting variable propagation delay of a LUT constructed as a mux tree?

Because on GreenPAK this was a very clearly measurable effect.

whitequark,
@whitequark@mastodon.social avatar

@azonenberg it's just a buffer, but yes

on the picture it's 8 LUTs in a chain. but don't forget that by making it 8 LUTs I'm also getting at least a span4 worth of delay (maybe a span12 depending on the placement)

azonenberg,
@azonenberg@ioc.exchange avatar

@whitequark I'm talking about (in0 - out) vs (in3 - out) paths having subtly unequal delay.

Not a mux selecting how many buffer luts in sequence are used.

whitequark,
@whitequark@mastodon.social avatar

@azonenberg oh! yeah, IN0 to OUT is the lowest delay... which on second thought is actually the wrong thing to do here, I should've been using IN3

azonenberg,
@azonenberg@ioc.exchange avatar

@whitequark I love how we're both sufficiently steeped in FPGA microarchitecture that "not all lut inputs are equally fast" is just something we can bring up in conversation as if it were perfectly normal.

whitequark,
@whitequark@mastodon.social avatar

@azonenberg yeah :3

Yosys actually models this (and at one point the inputs were reordered so that abc would pick the slightly faster path when mapping; abc assumes a particular ordering)

azonenberg,
@azonenberg@ioc.exchange avatar

@whitequark Yeah it's a nice micro optimization for a toolchain to do.

Also handy for ultra high res delay lines.

whitequark,
@whitequark@mastodon.social avatar

@azonenberg but the PNR should be doing this already...

digs into yosys

i am now a very unhappy catgirl because i'm reading stuff like this

froztbyte,

@whitequark is that gitk?

whitequark,
@whitequark@mastodon.social avatar
froztbyte,

@whitequark haha, it's such a recognizable thing :D

do you find that it's the only thing that does what it does easily? I've tried a couple things and thus far haven't found anything else that really works

whitequark,
@whitequark@mastodon.social avatar
whitequark,
@whitequark@mastodon.social avatar

and i had to give TXCLK (yellow) its own ground (orange) or i'd get Bonus Nibbles every time the data bus would transition 0->f

whitequark,
@whitequark@mastodon.social avatar

i don't know what's worse, that i understand signal integrity well enough to make this work, or that i continue to make assemblies like this despite understanding signal integrity enough to make them work

gsuberland,
@gsuberland@chaos.social avatar

@whitequark mood lol

whitequark,
@whitequark@mastodon.social avatar

we tried to make the laptop on the other side of this contraption route through the glasgownet and the linux kernel panicked

whitequark,
@whitequark@mastodon.social avatar

this is @mwk logging in through the glasgownet, running in 10 Mbps mode with a quirk

the quirk is that if you send two packets "too quickly" they get glued into a single packet, either direction

somehow, Element (two copies, concurrently), Akkoma, Discord, and other webpages still manage to load in this environment

video/mp4

whitequark,
@whitequark@mastodon.social avatar

going to 100 Mbps makes packets arrive "too quickly" less often and makes it not merely work, but be usable

you can watch video. also you get the right blinkenlights :D

incredible. i built an Ethernet MAC that doesn't even packetize things properly and TCP/IP still functions well using it

i love technology

video/mp4

froztbyte,

@whitequark you get up to the most wonderfully cursed discoveries :D

but also it's kinda nuts that you can do this with glasgow, very cool

whitequark,
@whitequark@mastodon.social avatar

look at how incredibly crude it is! it's barely even doing anything. it's using a bunch of LUTs to delay the clocks. it's doing things with clock domains that aren't discussed in polite audience. it completely disregards the boundaries of Ethernet frames and just kind of shoves them into the other pipe. the PHY is connected to the MAC using wiring so shoddy half the time the bug was "oh, TXCTL fell out of the socket again". there's only one ground pin connected (the one paired with TXCLK)!

whitequark,
@whitequark@mastodon.social avatar
18+ whitequark,
@whitequark@mastodon.social avatar

i wired this up and wrote half this code so high on progesterone i can only somewhat remember what i was doing and struggled with the list comprehension syntax at one point, and now Wanda is like "I have absolutely no reason to connect to WiFi, this works just fine"

incredible

18+ foone,
@foone@digipres.club avatar

@whitequark I had no idea it was even possible to get "high" on progesterone. Interesting

18+ whitequark,
@whitequark@mastodon.social avatar

@foone uh... so, what you do is you take More Progesterone until it makes you high.

however!

it might very well cause you to suddenly lose consciousness. so please do not do this in any situation where you might fall. because you could seriously hurt yourself. (i did once! six broken ribs and a scapula. though i was also on a scooter)

18+ ctrl,

@whitequark @foone also i don't remember the exact timing but depending when you eat and take the progesterone, the effects can vary widely

  • posted by otter
18+ whitequark,
@whitequark@mastodon.social avatar

@ctrl @foone yeah, generally with or shortly (within 1-2 hours) after food works the best

18+ ctrl,

@whitequark @foone also am curious, how much do you take to get high

  • posted by otter
18+ whitequark,
@whitequark@mastodon.social avatar

@ctrl @foone depends on the tolerance. for example, yesterday i took almost two blisters... which would be roughly four grams (not a typo)

but sometimes 200mg does it

18+ ctrl,

@whitequark @foone 4 GRAMS!?

that's like 20 pills???? isn't that dangerous?

  • posted by otter
18+ whitequark,
@whitequark@mastodon.social avatar

@ctrl @foone while i absolutely do not suggest that anyone else does it, we feel... fine? i've been doing this for quite a while, though not every day, just when i feel very bad

we have weird physiology though. like, i don't know of anybody else who took even a gram and stayed consciously

18+ ctrl,

@whitequark @foone the max i did was like 800mg lmao

now i wanna try more than a gram for science

  • posted by otter
18+ whitequark,
@whitequark@mastodon.social avatar

@ctrl @foone i normally just take more of it until i either feel better or feel nothing because i'm not conscious

18+ ctrl,

@whitequark like, one every few minutes?

  • posted by otter
18+ whitequark,
@whitequark@mastodon.social avatar

@ctrl i usually wait some time between the pills because they're expensive in such quantities, lol

18+ foone,
@foone@digipres.club avatar

@whitequark yikes. Sorry to hear that!

18+ whitequark,
@whitequark@mastodon.social avatar

@foone we're fine :) dw angel girls cant actually die

18+ North,
@North@chaos.social avatar

@foone @whitequark yeah, turns out it's metabolized to a lot of different neurosteroids which go on to cause a variety of effects, but a big one is allopregnanolone which, according to Wikipedia at least, is a positive allosteric modulator of the GABA-A receptor, not unlike benzodiazopine drugs!

18+ whitequark,
@whitequark@mastodon.social avatar

@North @foone yep! unlike Z-drugs though it doesn't seem to cause dependence (although, again, can't speak for everyone, only for us)

18+ North,
@North@chaos.social avatar

@whitequark @foone that's interesting to hear. I've been reading about benzo receptor activity because my dad is highly recommending Passionflower as an auxiliary treatment for anxiety (he's been on it for a few months now and is tapering off his SSRI) and so I now have a bottle of it and I'm deciding whether to trial it. It contains a lot of flavinoids and alkaloids, but the main one seems to be apigenin, which binds to benzo receptors on GABA-A.

18+ North,
@North@chaos.social avatar

@whitequark @foone (Anecdotally, people report developing a tolerance and often rotate it with other therapies)

18+ whitequark,
@whitequark@mastodon.social avatar

Amaranth is a good programming language to use while high, and Verilog is absolutely not

18+ thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Amaranth is a good programming language and Verilog is absolutely not

18+ whitequark,
@whitequark@mastodon.social avatar

@thezoq2 there are some programming languages that are good to use while high because they are also incredibly funny. Verilog is not funny.

18+ thezoq2,
@thezoq2@mastodon.social avatar

@whitequark What's the best language to use while high?

whitequark,
@whitequark@mastodon.social avatar

this thread was described as "premium dog content" so my work here is done :D :D

18+ weaponized_sage,
@weaponized_sage@chaos.social avatar

@whitequark can confirm writing amaranth on acid was a curious experience

18+ whitequark,
@whitequark@mastodon.social avatar

@weaponized_sage how did it feel?

whitequark,
@whitequark@mastodon.social avatar

43/48 Mbps is about the highest throughput we could get with basically unoptimized [for this application] Python code so far

whitequark,
@whitequark@mastodon.social avatar

presenting: Reverse ADSL

whitequark,
@whitequark@mastodon.social avatar

got TCP performance as high as 88 Mbps, with UDP and iperf we're getting >92 Mbps

still the same asyncio code running in a normal python process :D

whitequark,
@whitequark@mastodon.social avatar

it looks like we're at "can easily saturate 100BASE-T one way, and could probably saturate 100BASE-T the other way with minimal work" :D :D

Antimony51,
@Antimony51@mastodon.social avatar

@whitequark I'm not saying I'm him Jennings I'm the real reaper faggot cops

manawyrm,
@manawyrm@chaos.social avatar

@whitequark and some truely atrocious buffer bloat :)

where is Dave Taht when we need him? 😹

whitequark,
@whitequark@mastodon.social avatar

@manawyrm hey, i get 1-2 ms end to end ping! that's not so bad

manawyrm,
@manawyrm@chaos.social avatar

@whitequark but 235ms under load according to speedtest.net.

I'm guessing that's already noticable when just surfing the web via the gadget...

whitequark,
@whitequark@mastodon.social avatar

@manawyrm it feels like normal web browsing for the most part

re bufferbloat, buffer management with glasgow gets really hard due to the complex interplay between usb, fx2 bus, and python... i'm actually quite happy how it works with the default settings

manawyrm,
@manawyrm@chaos.social avatar

@whitequark I didn't actually want to say: "you'll need to fix that", I don't think anyone's going to try and build a router with a glasgow 😹

just mostly a fun real-world example for buffer handling.

whitequark,
@whitequark@mastodon.social avatar

@manawyrm not with this attitude! i'd build a cut throuh router with revd, why not

foone,
@foone@digipres.club avatar

@manawyrm @whitequark "I don't think anyone's going to try and build a router with a glasgow"

NOT WITH THAT ADDITUDE!

whitequark,
@whitequark@mastodon.social avatar
manawyrm,
@manawyrm@chaos.social avatar

@whitequark @foone synchronized catgirls :3

foone,
@foone@digipres.club avatar

@manawyrm @whitequark yeah if you get too many trans hackers together their cycles synchronize, except instead of anything biological it's just terrifying hacks

whitequark,
@whitequark@mastodon.social avatar

@manawyrm looking at iperf, you actually still see 1-2 ms latencies right up until the python process pegs a core, where it suddenly spikes to 100+ms. so unless you're downloading a copy of vivado it's fine

manawyrm,
@manawyrm@chaos.social avatar

@whitequark yeah, that's classic buffer bloat behaviour and one of the biggest problems when building routers :)

when their cpu is exhausted, things also start to suck.
it's the typical "uploading a file kills my video call", which doesn't actually have to be a problem (these days).

whitequark,
@whitequark@mastodon.social avatar

@manawyrm glasgow actually has pushback support (not used in the snippet), unfortunately it's usually not as easy because USB effectively requires lots of huge buffers for throughput

explicit credit based flow control might work

manawyrm,
@manawyrm@chaos.social avatar

@whitequark i don't think it's a problem which you should try to solve -- even the purpose-built USB NICs suck at this -- which is (one of the many reasons) why USB NICs suck so much in general :D

whitequark,
@whitequark@mastodon.social avatar

@manawyrm it's valuable for reasons such as i need a NIC that can handle a 64k jumbo frame

whitequark,
@whitequark@mastodon.social avatar

@manawyrm or reasons such as an electron microscope also has to avoid bufferbloat

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • kavyap
  • thenastyranch
  • osvaldo12
  • GTA5RPClips
  • khanakhh
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • Youngstown
  • everett
  • cubers
  • slotface
  • rosin
  • mdbf
  • JUstTest
  • ethstaker
  • cisconetworking
  • Durango
  • ngwrru68w68
  • modclub
  • tester
  • tacticalgear
  • provamag3
  • anitta
  • normalnudes
  • Leos
  • megavids
  • lostlight
  • All magazines