Wanda[cis] has quit [Quit: Idle timeout reached: 172800s]
_catircservices1 has quit [Quit: Bridge terminating on SIGTERM]
whitequark[cis] has quit [Quit: Bridge terminating on SIGTERM]
gatecat[m] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has joined #prjcombine
Wanda[cis] has joined #prjcombine
<Wanda[cis]>
ohh the IO timing stuff is actually somewhat interesting
<Wanda[cis]>
they take load capacitance into account
<mupuf>
what about inductance?
<Wanda[cis]>
nope
<mupuf>
And what about impedance? surely they need to know that! unless this is hard coded with the IO type
<Wanda[cis]>
I'd assume they take this into account as part of the constants?
<Wanda[cis]>
their timing formula for DOUT0 -> PACKAGEPIN is literally just `const_a + const_b * loadcap`
<Wanda[cis]>
without even bothering to do min/max computations
<Wanda[cis]>
okay at least this is easily explained by looking at the underlying `.lib` files; the larger delays are `three_state_enable` and the smaller are `three_state_disable`, ie. turning the driver on and off
<Wanda[cis]>
is there some way I can put min/max voltage and temperature into icecube2 command line? the GUI asks for it when creating a project, but it's unclear how it gets into the backend tools
<Wanda[cis]>
oh. I just need to create a whatever_sbt.project file and the timer will pick it up.
<Wanda[cis]>
... or not, it doesn't seem to actually do anything
<Wanda[cis]>
... why am I now debugging SiliconBlue .ini file parsing code
<Wanda[cis]>
what have I done wrong
galibert[m] has joined #prjcombine
<galibert[m]>
When you decided to do blackbox-re and then realized you had to debug the blackbox first
<Wanda[cis]>
blackbox my ass
<Wanda[cis]>
not convinced it counts as blackbox anymore with this amount of binary patches applied to this piece of shit
<galibert[m]>
Probably not :-)
<Wanda[cis]>
either way.
<Wanda[cis]>
good news
<Wanda[cis]>
I figured out why it fails to load the corner data from project file
<Wanda[cis]>
this piece of shit is attempting to load it from the wrong file
<galibert[m]>
Because it’s a piece of shit ?
<galibert[m]>
Heh
<Wanda[cis]>
specifically, it tries to parse ././sbt/outputs/device_info.txt as an .ini file instead of the top_sbt.project file
<Wanda[cis]>
while device_info.txt is a single-line file consisting solely of the target device name
<Wanda[cis]>
it also loads and parses top_sbt.project properly, but only in the codepath responsible for reading one particular option from it. all other calls are wrong.
<Wanda[cis]>
oh for fuck's sake.
<Wanda[cis]>
apparently it needs a specific directory structure to find the project file in all cases and the build script I stole from amaranth doesn't follow it
<galibert[m]>
Annoying
<Wanda[cis]>
yesss
<Wanda[cis]>
got the cursed thing to use the changed settings
<Wanda[cis]>
so, good news: I figured out how to poke at the derating knobs. bad news: now I have to figure out the derating formulas.