<azonenberg> either its built weird, or i have a bug in my measurement device
<azonenberg> Which is totally possible, i wrote it over the last day-ish :p
<azonenberg> My measuring thingie is also limited to a maximum delay of 128 ns right now b/c of how i built it
<azonenberg> so i cant measure the delay lines etc yet
<azonenberg> also ooh this is interesting
<azonenberg> It seems the path from LUT2 to pin 4 is 20 ps slower than to pin 5
<azonenberg> But my raw timing data is +/- 78 ps and idk if i have enough averages for that to be statistically significant
[X-Scale] has joined ##openfpga
X-Scale has quit [Ping timeout: 240 seconds]
[X-Scale] is now known as X-Scale
cr1901_modern has joined ##openfpga
pie_ has quit [Ping timeout: 255 seconds]
Zarutian has quit [Quit: Zarutian]
pie_ has joined ##openfpga
promach__ has joined ##openfpga
promach__ has quit [Quit: Leaving]
pie__ has joined ##openfpga
pie___ has joined ##openfpga
pie_ has quit [Ping timeout: 245 seconds]
pie__ has quit [Ping timeout: 246 seconds]
pie___ has quit [Read error: Connection reset by peer]
pie_ has joined ##openfpga
ZipCPU|Laptop has quit [Ping timeout: 240 seconds]
<pie_> i just reinstalled openwrt and it still doesnt work...
<pie_> even with ports like 80 and 443
<lain> note some isps block those ports to prevent people from hosting stuff
<pie_> sure but i had a dude tell me the isp doesnt block stuff
<pie_> and they didnt block stuff a while back
<pie_> but im just out of ideas
<pie_> but nat hairpinning or loopback or whatever should work...
<azonenberg> try it on another port
<azonenberg> i would expect, of all ports, those to get blocked
<azonenberg> the only thing blocked even more aggressively is 25
<qu1j0t3> pie_ | sure but i had a dude tell me the isp doesnt block stuff || Don't believe 'a dude' .... verify
<reportingsjr> My ISP blocked most of my ports one day out of the blue. Had to call and complain to get them opened back up.
<lain> azonenberg: and .. 135 is it? or was it 139
<lain> the samba port :P
<pie_> i tried a few random ports too
<azonenberg> LOL
<azonenberg> people actually run that exposed to the net?
<pie_> my dude is reliable
<lain> azonenberg: these days I dunno, but ISPs blocked it back when people figured out cable customers for example were all on the same subnet and could open Network Neighborhood and literally see /the neighborhood/
<pie_> reportingsjr, it would suck if that happened
<lain> and there hasn't been a reason to unblock it :P
<reportingsjr> pie_: I first noticed when IRC died and I couldn't reconnect :P
<pie_> argh why is my networking SO f***ed up
<pie_> i just changed the port of the service and it wont start :II
<pie_> maybe its some <1024 crap
<lain> :x
<lain> <1024 requires root typically
<pie_> i know
<pie_> but its a service
<pie_> so id expect it to have it handled
<pie_> no error messages -> wonderful
<pie_> also cant try it directly on 443 like this
<pie_> the thing is opwnrt can change the port so its externally something else
<pie_> but that doesnt work either
<qu1j0t3> pie_: Unless they actually work at the ISP, how could they be?
<pie_> they tested it for themselves, but sure that doesnt mean it would work for me
<pie_> im certainly failing to falsify that it doesnt work
theMagnumOrange has joined ##openfpga
<pie_> ok so im pretty sure im supposed to be able to ping my external ip, firewall is set to allow that, but i cant.
<pie_> i am a f****** black hole
<pie_> ok im done with this for today
<qu1j0t3> pie_: you can't know whether your isp is passing icmp. sorry to be a cracked record.
<pie_> looks like thyre not passing anything
<qu1j0t3> there are some good reasons why they might not want to.)
<pie_> even though they did not so long ago
<pie_> im off o/
<qu1j0t3> pie_: was it something i said!!!1!111!!
pie__ has joined ##openfpga
pie_ has quit [Read error: Connection reset by peer]
specing has quit [Ping timeout: 240 seconds]
dx has quit [Ping timeout: 240 seconds]
specing has joined ##openfpga
dx has joined ##openfpga
ZipCPU|Laptop has joined ##openfpga
pie__ has quit [Remote host closed the connection]
pie__ has joined ##openfpga
digshadow has joined ##openfpga
pie__ has quit [Read error: Connection reset by peer]
pie_ has joined ##openfpga
jn__ has joined ##openfpga
digshadow has quit [Quit: Leaving.]
pie_ has quit [Remote host closed the connection]
pie_ has joined ##openfpga
digshadow has joined ##openfpga
<azonenberg> These timing numbers are *amazingly* close to the datasheet nominal values
pie_ has quit [Ping timeout: 240 seconds]
eduardo_ has joined ##openfpga
eduardo has quit [Ping timeout: 245 seconds]
Hootch has joined ##openfpga
azonenberg_work has quit [Ping timeout: 240 seconds]
scrts has quit [Ping timeout: 255 seconds]
scrts has joined ##openfpga
gruetzkopf has quit [*.net *.split]
nurelin has quit [*.net *.split]
hobbes- has quit [*.net *.split]
davidc___ has quit [*.net *.split]
egg|egg has quit [*.net *.split]
mIKEjONES has quit [*.net *.split]
scrts has quit [Ping timeout: 240 seconds]
scrts has joined ##openfpga
gruetzkopf has joined ##openfpga
nurelin has joined ##openfpga
gruetzkopf is now known as Guest63856
m_t has joined ##openfpga
egg|egg has joined ##openfpga
davidc___ has joined ##openfpga
hobbes- has joined ##openfpga
mIKEjONES has joined ##openfpga
ZipCPU|Laptop has quit [Quit: Transitioning to a lower energy state]
pie__ has joined ##openfpga
pie__ has quit [Changing host]
pie__ has joined ##openfpga
<pie__> rqou, turns out im behind ISP nat :I
<pie__> i did find it strange that my real and wan ip were different but i was too noob to realize what that meant
<pie__> there was some ddns related stuff that should have also tipped me off :I
pie___ has joined ##openfpga
pie__ has quit [Ping timeout: 260 seconds]
Hootch has quit [Quit: Leaving]
pie__ has joined ##openfpga
pie___ has quit [Ping timeout: 260 seconds]
<azonenberg> pie__: isp nat???
<azonenberg> wut
<azonenberg> who is this, so i can avoid them in the future :p
<pie__> DIGI
<pie__> something something europe
<pie__> ipv4 space is expsneive or something
<pie__> got switche dover randomlz
<pie__> called support and thez fixed it
<pie__> 1% of users coplains ur still saving 99% space
<azonenberg> lol
<azonenberg> now if we could just all stop using ipv4...
* azonenberg is in the process of canceling one of his VPSes that doesnt even *have* ipv6 access
<azonenberg> i dont need to be stuck in the dark ages tyvm
<azonenberg> (not only that, its a container so i cant insmod the kernel driver i need to do 6to4...)
<pie__> well i could use ipv6 hypothetically but i havent learned how to use that yet
<pie__> dude specifically mentioned ipv6 is supported
<azonenberg> well the big issue is
<azonenberg> if you are hosting a service for yourself
<azonenberg> you need to make sure you will always have ipv6 at the other end (a lot of cheap wifi etc doesnt support it yet)
<azonenberg> if you're hosting a service for others, you need to make sure your users have ipv6
<azonenberg> otherwise, even if you offer it on ipv6, you need ipv4 as a fallback
<pie__> yeah
<azonenberg> Soooo
<azonenberg> This should be an interesting little challenge
* pie__ sprinkles challenge dust on azonenberg
<azonenberg> I want to do setup/hold timing measurements for my greenpak
<azonenberg> Propagation delay is fairly easy, i have this working already
<azonenberg> Setup/hold requires i generate a data and clock signal with tight (variable) phase alignment
<azonenberg> Basically, move the clock closer and closer to the data until the signal isn't latched
<azonenberg> But artix7 doesnt have output delay lines
<azonenberg> It has input delays which it appears i can connect to general routing fabric
<azonenberg> But the routing skew isnt going to be well controlled
<azonenberg> What I *can* do, it seems, is to have two delay lines, one on data and one on clock
<azonenberg> in general fabric
<azonenberg> each one has half a cycle of delay (2.5 ns)
<azonenberg> Combining this with multi-cycle paths i should be able to do arbitrarily large delays
<azonenberg> The issue is, i can only tune relative phase and i dont know the absolute phase with delay=0
<azonenberg> And this can vary with each build of the fpga bitstream
<azonenberg> Luckily i already have a process in place to calibrate my pad-to-pad delay for a given FPGA bitstream
<azonenberg> So i think i can just measure each compile and calibrate out this skew
<azonenberg> Also heading out to work, be back on from the boat in a bit
<pie__> azonenberg, dumb idea: feedback loop based tuning circuit?
<pie__> wait did i just say PLL :I
* pie__ shuffles off
<pie__> what i meant to say is can you somehow make that one variable that you dont know disappear?
[X-Scale] has joined ##openfpga
X-Scale has quit [Ping timeout: 260 seconds]
[X-Scale] is now known as X-Scale
azonenberg_work has joined ##openfpga
<azonenberg_work> Back
Hootch has joined ##openfpga
m_w has joined ##openfpga
azonenberg_work has quit [Ping timeout: 240 seconds]
m_t has quit [Quit: Leaving]
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
Lord_Nightmare has joined ##openfpga
nicdev has quit [Remote host closed the connection]
nicdev has joined ##openfpga
indy has quit [Ping timeout: 246 seconds]
indy has joined ##openfpga
scrts has quit [Ping timeout: 260 seconds]
scrts has joined ##openfpga
m_t has joined ##openfpga
m_w has quit [Ping timeout: 255 seconds]
cr1901_modern has quit [Ping timeout: 240 seconds]
m_w has joined ##openfpga
cr1901_modern has joined ##openfpga
azonenberg_work has joined ##openfpga
Hootch has quit [Quit: Leaving]
<azonenberg_work> Soo apparently xilinx is not publishing full CLB timing numbers, setup/hold, etc for virtex ultrascale devices o_O
<cr1901_modern> Maybe they don't know themselves :P?
<azonenberg_work> they made some sad excuse about how there's too many paths
<azonenberg_work> but basically it seems like they dont want to support low level timing on paper etc
<azonenberg_work> xilinx seems to be moving more toward high level stuff using vivado, HLS, etc
<cr1901_modern> B/c magic!111one
<azonenberg_work> and not supporting low level control of the device
<azonenberg_work> meanwhile here i am doing timing characterization of silicon i dont even have a datasheet for :p
<cr1901_modern> Reminds me of Yoshi Valley in Mario Kart 64 (if you've never played that, sorry)
<azonenberg_work> I havent
<azonenberg_work> never had a n64
<azonenberg_work> pretty much always been a PC gamer
<cr1901_modern> Um, that particular track in the game doesn't bother trying to calculate player positions, b/c the track itself has "too many paths"
<cr1901_modern> I guess it's too taxing on the CPU, but the insn manual even says "calculating player position is impossible"
<azonenberg_work> lol
* azonenberg_work looks at a stratix 10 datasheet to compare
<azonenberg_work> i'm not seeing anything for LUT timing there either
<cr1901_modern> Have you pinged their twitter acct?
<azonenberg_work> whose, for what?
<azonenberg_work> it wouldnt make a difference anyway
<cr1901_modern> Xilinx, to complain
<azonenberg_work> theres already forum posts about it
<azonenberg_work> and they officially said, you wont get the data
<cr1901_modern> I guess in theory you could use your test rig to measure S/H for paths for each CLB. Automate it by building bitstreams which only use a single CLB :P
<cr1901_modern> Then document worst case timing
<azonenberg_work> it would be a lot harder in an fpga
<azonenberg_work> theres much more complex routing
<azonenberg_work> with the greenpak its a crossbar and you can measure point to point far easier
<cr1901_modern> But you can force a particular CLB to be used IIRC. And there's prob a way to measure the approx time to reach the CLB
<cr1901_modern> and factor that constant delay out
* cr1901_modern doesn't know how. Hence the "prob"
<azonenberg_work> eh
<azonenberg_work> measuring the delay to the clb would be nontrivial
<azonenberg_work> as it stands now, even on a greenpak
<azonenberg_work> i'm having a hard enough time b/c i cannot distinugish routing delay from propagation delay in the block
<cr1901_modern> You could use electrostatics/transmission line theory to predict the delay :3
<cr1901_modern> It wouldn't be fun or worth it, but you could
<azonenberg_work> not unless i knew a lot of properties like wire length and dielectric
<azonenberg_work> it would be nontrivial
<cr1901_modern> well how do you think Xilinx does it?
<cr1901_modern> They prob pay engineers good money to do this shit b/c (almost) nobody actually LIKES solving this stuff
<azonenberg_work> probably a combination of die probing, knowledge of the bitstream format, making single luts on characterization dies
<azonenberg_work> indirect measurements by making things like ring oscillators
<cr1901_modern> Well that's easier than using a field solver, yes...
<azonenberg_work> And it doesnt require knolwedge of all these parameters
<azonenberg_work> you need to allow for fab proecss variation anyway
<azonenberg_work> Anyway, i'm having a hard enough time doing it for greenpak :p
<cr1901_modern> The Kitten Book comes to mind
<azonenberg_work> Lol
<azonenberg_work> Yeeep
<azonenberg_work> So when i get home from work
<azonenberg_work> i have a fun project that involves crossing between multiple build systems
<azonenberg_work> i have some jtag code for starshipraider living in the antikernel repo/build system
<azonenberg_work> (which i'm using to drive the test vectors)
<azonenberg_work> i have code in openfpga for talking to the devkit, loading bitfiles, controlling io, etc
<azonenberg_work> i dont yet have a socket interface for starshipraider or this'd be a lot easier
<azonenberg_work> i think i'm going to make a jtag-to-socket shim that temporarily lets me feed data to the board
<azonenberg_work> then put the rest of the code in openfpga
<cr1901_modern> openfpga is glacial in accepting code depending on who you are
<azonenberg_work> i meant my repo
<azonenberg_work> :p
<cr1901_modern> So I plan to actually buy a GP4 dev kit soon
<azonenberg_work> :D
<azonenberg_work> aaanyway
<cr1901_modern> I have a little extra money, so maybe I can contribute lol
<azonenberg_work> Tonight i am going to try to script up propagation delay measurements for all luts (will focus on other stuff later)
<cr1901_modern> Have fun :D. And let me know how you distinguish prop delay from route delay.
<cr1901_modern> (Good thing I'm easy to shop for for my bday)
<azonenberg_work> For the time being i'll be measuring them lumped
<cr1901_modern> I just asked for $$ XD
<azonenberg_work> i.e. crossbar + lut are one entity for timing analysis
<cr1901_modern> ahhh
<azonenberg_work> i dont yet know if i can deconvolve them
<azonenberg_work> input and output buffer delays i also am doing lumped for now
<azonenberg_work> as i can only measure the sum
<azonenberg_work> i am considering doing a fib edit on the die to put probes down after the buffer
<azonenberg_work> and measure delay :p
<cr1901_modern> Must be nice to have access to one
<azonenberg_work> but i'll have to do more extensive silicon re to even know where to put the probes at this point
<azonenberg_work> anyway
<azonenberg_work> Tonight's goal is going to be automated measurement of all luts on the slg4662x
<azonenberg_work> in the left half only
<azonenberg_work> (since right half luts go through the cross-connectors)
<azonenberg_work> across some range of voltages
<azonenberg_work> say 3.1 to 3.5 or so
<azonenberg_work> actually 3.45 is Vomax for the artix
<azonenberg_work> so i'll do that
<azonenberg_work> Vimax*
<rqou> eh, IME it's reasonably safe to exceed Vimax on xilinx parts :P
<azonenberg_work> I dont plan to :p
<azonenberg_work> So say 3.15 to 3.45
<azonenberg_work> that would be +/- 150 mV from nominal
<rqou> so conservative :P
<azonenberg_work> that's reasonable for multi-corner voltage analysis
<azonenberg_work> oh, if i have it automated
<azonenberg_work> i can also test multiple dies
<azonenberg_work> and start to fool with process corner characterization too
<azonenberg_work> May not get this all done tonight but that's the goal
<azonenberg_work> rqou: also i wouldnt worry too much about exceeding vimax on an xc2c32a
<azonenberg_work> but on an xc7a100t?
<azonenberg_work> that's not a cheap thing to replace if i kill it
<rqou> oh dang this is a 100t?
<azonenberg_work> Yeah, lol
<rqou> i thought it was a 15t or something :P
<azonenberg_work> i wasnt sure how many gates i'd need for the tcp offload etc, plus my back-end stuff doesnt support vivado yet
<azonenberg_work> easy option was to use the 100
<azonenberg_work> then eventually port to vivado and load a smaller chip on the full board if i don't need that many
<azonenberg_work> But yeah
<azonenberg_work> i'm not going to take chances going out of spec on a $120 fpga
<rqou> yeah i suppose
<rqou> especially considering that a 15t is already around $40
<azonenberg_work> my characterization setup as of now
<azonenberg_work> interestingly enough the path i reworked seems to be like 150-200ps slower than the others... not sure if trace delay on the gpak devkit or if my rework is higher resistance or something
<rqou> is that a custom jtag dongle?
<azonenberg_work> The dongle is a digilent hs1
<azonenberg_work> just a ftdi
<azonenberg_work> it was just the first one that came to hand
<azonenberg_work> i have half a dozen homemade ftdi dongles around
<azonenberg_work> this one was just closer to the top of the pile :p
diamondman has joined ##openfpga
Zarutian has joined ##openfpga
pie__ has quit [Ping timeout: 246 seconds]
m_t has quit [Quit: Leaving]
pie_ has joined ##openfpga
<rqou> azonenberg_work: the xilinx jed files violate the spec
<rqou> there's no "design specification"
<lain> xilinx violating a spec?
<lain> is it a day that ends in 'y'?
<lain> ;)
<azonenberg_work> Lol
<azonenberg_work> i mean we already knew they didnt check the checksums
<azonenberg_work> honestly i'm surprised they generate them
s0n1cB00m has joined ##openfpga
azonenberg_work has quit [Ping timeout: 246 seconds]