18+ nota,
@nota@chaos.social avatar

wenn die DDR so gut war wo ist die QDR

18+ gsuberland,
@gsuberland@chaos.social avatar

@nota und auch ODR

18+ nota,
@nota@chaos.social avatar

@gsuberland does that even get used outside of textbooks?

18+ gsuberland,
@gsuberland@chaos.social avatar

@nota it has been implemented in some GDDR stuff but there's literally no reason to use it, it's functionally pointless.

QDR is similarly not very useful. DDR is sensible because if you switch data signals once per clock cycle your clock ends up having twice the Nyquist rate as your data, so by sampling data on each edge you bring the data Nyquist rate up to the clock Nyquist rate and everything has the same design requirements. but with QDR you re-introduce the imbalance, but backwards.

18+ gsuberland,
@gsuberland@chaos.social avatar

@nota as far as I can tell the reason they put QDR/ODR into some GDDR stuff was related to some specific implementation details around how clocking works in some designs, in relation to power saving modes, but I have never been able to find a concrete explanation.

18+ nota,
@nota@chaos.social avatar

@gsuberland I'm told QDR does get used a fair bit in networking stuff, with one channel being writes and the other reads. Basically two DDR channels but 90° apart. Since with networking that's usually fairly symmetric and you don't want the latency hit of having to switch between the two or have them contend with each other.

18+ gsuberland,
@gsuberland@chaos.social avatar

@nota hmm, it seems like interleaving would make more sense though, since that way you avoid needing a clock-doubling PLL to sample the extra phases and you keep everything at the same Nyquist rate. but networking stuff is often weird so maybe there's a good reason to do it that way.

18+ gsuberland,
@gsuberland@chaos.social avatar

@nota I'd bet @azonenberg knows the answer (or at least has some insight)

azonenberg,
@azonenberg@ioc.exchange avatar

@gsuberland @nota So-called QDR RAM is actually two DDR ports, one for reads and one for writes (in older generations) or two bidirectional (for newer). But normally they're sharing one common clock not 90 deg phased.

gsuberland,
@gsuberland@chaos.social avatar

@azonenberg @nota ohh, so kinda like QSPI. neat.

azonenberg,
@azonenberg@ioc.exchange avatar

@gsuberland @nota Not really. QDR-II+ (only family I have specific experience with) is one parallel command/address bus at single rate, alternating issuing requests to the read and write data buses (BL=4, DDR).

gsuberland,
@gsuberland@chaos.social avatar

@azonenberg @nota now I'm confused again. when I said "kinda like QSPI" I meant in the sense that they're increasing bus parallelism at the exact same transmission rate instead of sending more data per second down the same number of lines. is that not what they're doing? the "alternating" part isn't clear to me here (I also don't know what BL=4 means)

azonenberg,
@azonenberg@ioc.exchange avatar

@gsuberland @nota Burst length 4.

So at T=0 you send a write enable and write address, then at T=1/1.5/2/2.5 you send write data.

At T=1 you send a read enable and read address, then at T=2/2.5/3/3.5 you get read data (simplifying a bit since there's usually some read latency, but you get the idea).

Then at T=2 you can issue another write, and so on.

There's no hard requirement that you have a strict even/odd alternation of reads and writes, but it makes controller design simple and lets you saturate both data buses so it's the logical way to do it.

azonenberg,
@azonenberg@ioc.exchange avatar

@gsuberland @nota It's more like regular SPI than QSPI in that it's full duplex with separate read and write data buses active simultaneously (just that each bus is 18/36 bits wide).

gsuberland,
@gsuberland@chaos.social avatar

@azonenberg @nota right, so the "QDR" part is that they're giving you separate ports for read/write, effectively making it full duplex (subject to command patterns) instead of half duplex? but the signalling on the lines themselves is still just DDR in terms of being sampled at both edges, right?

azonenberg,
@azonenberg@ioc.exchange avatar

@gsuberland @nota Correct. It's poorly named, I consider it dual port DDR.

gsuberland,
@gsuberland@chaos.social avatar

@azonenberg @nota so is QDR (the signalling thing, not the multi-port misnomer) actually used for anything? it seems pointless to me but sometimes things surprise me.

azonenberg,
@azonenberg@ioc.exchange avatar

@gsuberland @nota I have never seen it in the wild.

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