<_whitenotifier-b>
[whitequark/Boneless-CPU] tpwrules pushed 2 commits to master [+0/-0/±2] https://git.io/JJ1us
<_whitenotifier-b>
[whitequark/Boneless-CPU] tpwrules 56e55b4 - test.test_core: patch to use generator functions for latest nmigen
<_whitenotifier-b>
[whitequark/Boneless-CPU] tpwrules bdf1eef - gateware.core: process EXTI in 1 cycle instead of 4
cr1901_modern1 has joined ##openfpga
cr1901_modern has quit [Ping timeout: 260 seconds]
emeb has quit [Quit: Leaving.]
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined ##openfpga
OmniMancer has joined ##openfpga
jaseg has quit [Ping timeout: 256 seconds]
jaseg has joined ##openfpga
<awygle>
daveshah: the high speed i/o interface app note, tn-02035, says the 1x geared s-clk blocks must be used for speeds below 250 MHz, and the 2x geared e-clk blocks must be used for speeds above 400 MHz. does that mean in between i can use either one?
<whitequark>
i'm curious what's the problem with using e-clk at speeds that are too low
<whitequark>
ah, wait, i think i know
<whitequark>
i bet it's the thing where edge-aligned/center-aligned sampling is faked with some silicon delay lines
<awygle>
probably, yeah
<whitequark>
can we talk about how much of a bullshit solution it feels?
<whitequark>
i haven't used it so i don't know if it actually doesn't work in some practical case
<whitequark>
but it seems so ugly
<awygle>
i honestly don't know what else you could do though
<whitequark>
there's the obvious disadvantages of a PLL, yes
<whitequark>
but... diamond doesn't even seem to adjust the delay line tap for the frequency you request?
<whitequark>
"here are some tap numbers i think are good. do you like this"
<awygle>
hm, that i don't know
<awygle>
i have used the explicitly-adjustable delay line primitive thingy. delayf or whatever it is
<awygle>
but i haven't paid enough attention to see if the center alignment delay thingy changes based on frequency
<awygle>
i'm saying thingy too much.
<whitequark>
"thingy" is a good name for all the weird blocks fpgas have :p
<awygle>
why are these pictures so shit
<whitequark>
awygle: can you remind me what the parameter was called?
<whitequark>
daveshah says this is the exact same thing diamond does and i trust him on that
<whitequark>
but it makes no sense to me. i don't know how it can possibly work on any nontrivial range of frequencies
<awygle>
that's interesting and also weird
<awygle>
this picture shows a lot more going on
<awygle>
but any or all of it could be lies of course
<awygle>
it claims there are DLLs
<awygle>
which, like, yeah, that's what i'd expect
<awygle>
i wonder if that's just the static clock injection time
<whitequark>
awygle: section 8.4 seems to imply that
<awygle>
ah yeah, ok so that makes sense
<awygle>
so not nearly as hacky as it sounds lol
<whitequark>
okay, then i think i don't understand how it works
<whitequark>
can you explain?
<awygle>
look at figure 5.3
<awygle>
as a representative example
<whitequark>
sure
<awygle>
the DLLDELD and its control block DDRDLLA do the frequency-dependent parts
<awygle>
but the clock going through all of those extra elements adds a certain amount of delay to it, which does not depend on frequency
<awygle>
so the DELAYG statically delays the data by that same amount to keep them in sync
<whitequark>
ohh, this clears things up a lot
<awygle>
probably some more static delay stuff in there to deal with setup/hold and whatnot too
<whitequark>
but i don't understand one more thing
<whitequark>
... oh
<whitequark>
aligned and centered simply have different topologies.
* whitequark
facepalm
<awygle>
yup
<whitequark>
ok, i completely misunderstood what they were doing there
<whitequark>
going to our original topic: what prevents using eclk at low bit rates?
<whitequark>
since it's not the DELAYF/G blocks
<awygle>
yeha idk. ECLKSYNCB for some reason?
<awygle>
that's the only new block
<whitequark>
wait
<awygle>
hm, in nextpnr i get "Derived frequency constraint of 103.3 MHz for net sram_clk", and then a couple lines later "Annotating ports with timing budgets for target frequency 12.00 MHz". can someone explain the apparent conflict? i only have the one clock in this design
jeanthom has joined ##openfpga
jeanthom has quit [Ping timeout: 240 seconds]
Patater has quit [Quit: Explodes into a thousand pieces]
Patater has joined ##openfpga
<tnt>
awygle: Derived is probably from a PLL.
Patater has quit [Quit: Explodes into a thousand pieces]
Patater has joined ##openfpga
Patater has quit [Quit: Explodes into a thousand pieces]
Patater has joined ##openfpga
emeb_mac has quit [Quit: Leaving.]
mumptai has joined ##openfpga
Asu has joined ##openfpga
jeanthom has joined ##openfpga
jeanthom has quit [Ping timeout: 246 seconds]
_whitelogger has joined ##openfpga
emeb has joined ##openfpga
OmniMancer has quit [Quit: Leaving.]
SpaceCoaster has quit [Read error: Connection reset by peer]
SpaceCoaster has joined ##openfpga
SpaceCoaster has quit [Client Quit]
SpaceCoaster has joined ##openfpga
jeanthom has joined ##openfpga
<implr>
anyone bought/used a LiteFury?
<implr>
cheap
<implr>
and has schematics on github as opposed to weird aliexpress boards
pakesson has joined ##openfpga
<zyp>
implr, there's also the cle-215+ that goes cheap on ebay nowadays, which is a rebranded nitefury
<zyp>
I've got one of those
jeanthom has quit [Ping timeout: 240 seconds]
jaseg has quit [Ping timeout: 260 seconds]
jaseg has joined ##openfpga
SpaceCoaster has quit [Ping timeout: 240 seconds]
_whitelogger has joined ##openfpga
m4ssi has joined ##openfpga
Asu has quit [Quit: Konversation terminated!]
m4ssi has quit [Remote host closed the connection]
cr1901_modern1 has joined ##openfpga
cr1901_modern has quit [Ping timeout: 265 seconds]
emeb_mac has joined ##openfpga
kristianpaul has quit [Read error: Connection reset by peer]
kristianpaul has joined ##openfpga
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined ##openfpga
m4ssi has joined ##openfpga
m4ssi has quit [Remote host closed the connection]
cr1901_modern1 has joined ##openfpga
cr1901_modern has quit [Ping timeout: 240 seconds]
cr1901_modern1 has quit [Client Quit]
cr1901_modern has joined ##openfpga
Richard_Simmons has quit [Ping timeout: 244 seconds]
m4ssi has joined ##openfpga
m4ssi has quit [Remote host closed the connection]
emeb has quit [Quit: Leaving.]
mumptai has quit [Remote host closed the connection]