00:14
<
whitequark >
daveshah: poke?
00:14
<
whitequark >
what timezone are you in, anyway
00:18
mumptai has quit [Quit: Verlassend]
00:35
tlwoerner has quit [Quit: Leaving]
00:41
tlwoerner has joined ##openfpga
01:18
Miyu has joined ##openfpga
01:23
Miyu has quit [Ping timeout: 250 seconds]
01:57
ayjay_t has quit [Read error: Connection reset by peer]
01:58
ayjay_t has joined ##openfpga
02:03
ayjay_t has quit [Read error: Connection reset by peer]
02:03
ayjay_t has joined ##openfpga
02:09
ayjay_t has quit [Read error: Connection reset by peer]
02:10
ayjay_t has joined ##openfpga
02:41
dj_pi has joined ##openfpga
02:47
dj_pi has quit [Ping timeout: 258 seconds]
02:48
Adluc has joined ##openfpga
02:48
pie__ has joined ##openfpga
02:50
pie_ has quit [Ping timeout: 268 seconds]
02:59
unixb0y has quit [Ping timeout: 258 seconds]
03:00
unixb0y has joined ##openfpga
03:35
futarisIRCcloud has joined ##openfpga
03:55
eightdot has quit [Ping timeout: 250 seconds]
03:55
m4ssi has joined ##openfpga
03:55
m4ssi has quit [Remote host closed the connection]
03:57
m4ssi has joined ##openfpga
03:57
m4ssi has quit [Remote host closed the connection]
04:10
_whitelogger has joined ##openfpga
04:28
ayjay_t has quit [Read error: Connection reset by peer]
04:29
ayjay_t has joined ##openfpga
04:58
hl has joined ##openfpga
05:09
zng has joined ##openfpga
05:16
_whitelogger has joined ##openfpga
05:44
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
05:44
rohitksingh has joined ##openfpga
05:56
ayjay_t has quit [Read error: Connection reset by peer]
05:56
ayjay_t has joined ##openfpga
06:10
ayjay_t has quit [Read error: Connection reset by peer]
06:10
ayjay_t has joined ##openfpga
06:26
s_frit has quit [Read error: Connection reset by peer]
07:01
_whitelogger has joined ##openfpga
07:07
catplant is now known as tnalptac
07:08
tnalptac is now known as catplant
07:16
rohitksingh has quit [Ping timeout: 244 seconds]
07:33
<
azonenberg >
swetland: vacuum all of the sensor intakes
07:33
<
azonenberg >
dust and cobwebs are prone to causing false alarms
07:33
<
azonenberg >
if that doesn't work, and you continue to have false alarms, try to ID the one at fault
07:33
<
azonenberg >
and replace it
07:37
rohitksingh has joined ##openfpga
07:47
<
tnt >
azonenberg: wrt to your phy issues. If the signal transitions looks fine, maybe it's the timing ? Is the clock good / within spec ?
07:49
<
zkms >
can you capture a long trace with the misbehaving DUT and then capture a trace with the same equipment with a working ethernet device and look for a difference?
07:55
<
azonenberg >
zkms: i've done eyes of 100M mode on the bad board out to 10M points and not seen any obvious defects
07:55
<
azonenberg >
i'm trying to catch the actual link drop in progress now
07:55
<
azonenberg >
adding some state pins on the fpga so i can trigger the scope off them
07:57
<
azonenberg >
The osc is a DSC61xx MEMS oscillator, 25 PPM
07:58
<
azonenberg >
the PHY allows up to 50 ppm
08:26
jcreus has joined ##openfpga
08:32
<
daveshah >
whitequark: pong (I'm in UTC)
09:32
eightdot has joined ##openfpga
09:44
oter has quit [Ping timeout: 245 seconds]
09:45
rohitksingh has quit [Ping timeout: 240 seconds]
09:49
rohitksingh has joined ##openfpga
09:56
_whitelogger has joined ##openfpga
09:56
rohitksingh has quit [Ping timeout: 258 seconds]
11:46
Miyu has joined ##openfpga
12:53
octycs has joined ##openfpga
12:58
ayjay_t has quit [Read error: Connection reset by peer]
12:58
ayjay_t has joined ##openfpga
13:29
<
whitequark >
does this look understandable to you?
13:29
rohitksingh has joined ##openfpga
13:34
<
daveshah >
whitequark: yeah, looks good
13:34
Flea86 has quit [Quit: Goodbye and thanks for all the dirty sand ;-)]
13:35
<
whitequark >
looking at df-map right now
13:36
<
whitequark >
it involves spanning trees
13:37
<
whitequark >
daveshah: i can't tell if there is a graph library in that pass trying to get out
13:37
<
whitequark >
or, if i should continue writing it in an ad-hoc way like that
13:37
<
whitequark >
i feel like the latter, so far
13:37
<
daveshah >
I tend to prefer ad hoc graph stuff too
13:44
<
whitequark >
i'm currently trying to understand it and i'd like to compare notes with someone
13:52
<
whitequark >
daveshah: ah interesting. half time images don't load for me though
13:53
<
daveshah >
yeah, they don't for me either (404)
14:03
octycs has quit [Ping timeout: 260 seconds]
14:12
cr1901_modern1 has joined ##openfpga
14:15
cr1901_modern has quit [Ping timeout: 258 seconds]
14:26
octycs has joined ##openfpga
14:43
cr1901_modern1 has quit [Quit: Leaving.]
14:43
cr1901_modern has joined ##openfpga
14:46
__rob2 has joined ##openfpga
14:47
Laksen has joined ##openfpga
14:56
ayjay_t has quit [Read error: Connection reset by peer]
14:56
ayjay_t has joined ##openfpga
15:07
<
whitequark >
daveshah: hm, i'm not sure i grasp how df-map works
15:07
<
whitequark >
do you?
15:13
emeb has joined ##openfpga
15:18
<
daveshah >
whitequark: not enough to really implement it
15:20
<
daveshah >
inside RASP; sis-1.2/sis/ucla_fpga/flowmap/dfmap.c
15:20
<
daveshah >
not sure how much that helps though
15:21
rohitksingh has quit [Ping timeout: 244 seconds]
15:25
rohitksingh has joined ##openfpga
15:35
<
whitequark >
daveshah: hmmm
15:35
<
whitequark >
can you explain what you do understand to me?
15:35
<
whitequark >
maybe we're missing different parts
15:36
<
daveshah >
I understand the broad concept - split to MFFCs, then try and build up an optimal mapping using DP for each MFFC
15:36
<
daveshah >
starting from the PIs
15:37
<
whitequark >
do you split LUTs (after initial packing and depth relaxation) into MFFCs, or do you split nodes?
15:39
<
daveshah >
It seems to be nodes
15:40
<
whitequark >
but how does this relate to depth relaxation, then?
15:40
<
whitequark >
if it's nodes anyway
15:41
<
whitequark >
the node graph is intact
15:48
<
daveshah >
it feels like this might be done on the nodes that were unmapped during depth relaxation
15:48
<
daveshah >
if that makes any sense at all
15:49
<
whitequark >
but nodes aren't unmapped during depth relaxation!
15:49
<
whitequark >
they're split
15:49
<
whitequark >
so you still have LUTs after depth relaxation
15:49
<
whitequark >
this is important because depth relaxation happens up to a given depth bound
15:49
<
whitequark >
and continues until the slack on each LUT is zero
15:52
<
daveshah >
I'm trying to understand the algorithm in III.D
16:07
<
daveshah >
whitequark: thinking some more, I don't think depth relaxation leaves the node graph intact as it might merge duplicated nodes?
16:09
<
whitequark >
daveshah: hmm
16:09
<
whitequark >
daveshah: that depends on whether you explicitly duplicate nodes, i guess
16:16
ayjay_t has quit [Read error: Connection reset by peer]
16:17
ayjay_t has joined ##openfpga
16:52
rohitksingh has quit [Remote host closed the connection]
16:55
rohitksingh has joined ##openfpga
17:56
octycs has quit [Ping timeout: 268 seconds]
18:15
octycs has joined ##openfpga
18:28
X-Scale has quit [Ping timeout: 245 seconds]
18:29
X-Scale` has joined ##openfpga
18:32
X-Scale` is now known as X-Scale
18:54
Laksen has quit [Remote host closed the connection]
18:56
octycs has quit [Ping timeout: 268 seconds]
18:58
<
tnt >
come on ... wtf ... why does v_cnt[1] have a different CE than all the other bits of that vector.
19:30
octycs has joined ##openfpga
19:53
pie__ has quit [Ping timeout: 258 seconds]
20:08
tmeissner has joined ##openfpga
20:16
mwk has quit [Read error: Connection reset by peer]
20:16
mwk has joined ##openfpga
20:24
<
whitequark >
daveshah: oooh i think i see it
20:24
<
whitequark >
lemma 3
20:42
<
whitequark >
daveshah: so I think it goes something like this
20:42
<
whitequark >
it works on gate level, but in granularity of FFCs that are already mapped to LUTs, maybe?
20:46
<
daveshah >
whitequark: Lemma 3 reads like a property of the solution though?
20:48
<
whitequark >
red herring maybe
21:05
<
whitequark >
daveshah: ooooh
21:05
<
whitequark >
i think ido see it now
21:05
<
whitequark >
theorem 2
21:05
<
whitequark >
every K-feasible MFFC is collapsed into its root before DF-mapping
21:13
<
whitequark >
orr in part E
21:14
<
whitequark >
"Since every new LUT generated by DF-Map covers at least one node of initial network"...
21:15
pie__ has joined ##openfpga
21:18
<
whitequark >
daveshah: wtf
21:18
<
whitequark >
that code is absolutely incomprehensible
21:18
<
daveshah >
It's good old K&R too
21:19
<
whitequark >
daveshah: ok, so i think i sort of understand df-map conceptually now, on a low level
21:19
<
whitequark >
i still don't fully see how it fits with the results of flowmap
21:19
<
daveshah >
Yeah, I feel about the same
21:20
<
daveshah >
Algorithm in IIID suggests it being run in a loop with depth relaxation
21:21
<
whitequark >
on page 146 it says that depth relaxation prepares an advantageous initial network for DF-Map
21:26
<
whitequark >
daveshah: so looking again
21:26
<
whitequark >
"Fig 5(c) consists of a single MFFC which is not 5-feasible"
21:26
<
whitequark >
and it says that it consists of 3 nodes
21:26
<
whitequark >
these 3 nodes are LUTs
21:26
<
whitequark >
moreover, there is no duplication going on at all
21:26
<
whitequark >
both 5(c) top and 5(c) bottom have the exact same gate network
21:27
<
whitequark >
therefore, it seems quite clear that DF-Map works on the network of LUTs and not on the network of gates
21:27
<
whitequark >
"MFFCv consists of 3 nodes" is unambiguous
21:27
<
daveshah >
OK, that makes sense
21:27
rohitksingh has quit [Ping timeout: 268 seconds]
21:28
<
daveshah >
My rough feeling then is that FlowMap first to LUTs, then depth relaxation without any repacking, then DFMap on LUTs
21:28
<
daveshah >
The latter two parts in the loop
21:28
<
whitequark >
that's definitely what it does
21:30
<
whitequark >
mmmkay
21:30
<
whitequark >
i think i can do this
21:34
<
whitequark >
daveshah: btw, does abc have a depth/area tradeoff functionality?
21:36
<
daveshah >
It has some settings to this effect
21:37
<
daveshah >
Probably not as fine grained as here, more like optimise for delay or optimise for area
21:37
<
whitequark >
but that's useless
21:37
<
whitequark >
you never want to just optimize for area
21:37
<
daveshah >
I think you can give it required times for POs too
21:37
<
daveshah >
And then it will optimise to meet those
21:38
<
daveshah >
This is probably only useful with greyboxes, otherwise stuff like carry chains end up as POs too
21:52
octycs has quit [Remote host closed the connection]
22:04
<
whitequark >
i have a bug where (on logic.v) a node has nonzero slack but an output on its critical path has zero slack
22:06
<
whitequark >
the problem is that it happens after like 14 relaxation steps
22:13
<
whitequark >
daveshah: ahahahahaha
22:13
<
whitequark >
so i had this elaborate caching set up
22:13
<
whitequark >
to avoid recalculating potoentials
22:13
<
whitequark >
and a worklist parameter
22:13
<
whitequark >
... that i ignored and recomputed all potentials for all nodes each single iteration
22:14
<
whitequark >
"why is it slow" because you are a dumbass whitequark
22:28
<
whitequark >
daveshah: hmmm
22:28
<
whitequark >
so I have a situation where a node with slack 1 feeds a node with slack 0
22:28
<
whitequark >
this feels like a bug
22:29
<
whitequark >
daveshah: but, i can't tell where
23:57
<
whitequark >
daveshah: ahaha holy shit
23:57
<
whitequark >
so iwrote bugpoint for yosys
23:57
<
whitequark >
it is EXTREMELY effective
23:57
<
whitequark >
it can rapidly minimize designs with hundreds of cells to designs with single cells
23:59
<
whitequark >
daveshah: you obviously can use it with nextpnr as well