GenTooMan has quit [Quit: Leaving]
GenTooMan has joined ##openfpga
GenTooMan has quit [Quit: Leaving]
GenTooMan has joined ##openfpga
GenTooMan has quit [Client Quit]
GenTooMan has joined ##openfpga
OmniMancer has joined ##openfpga
Degi has quit [Ping timeout: 264 seconds]
Degi_ has joined ##openfpga
Degi_ is now known as Degi
GenTooMan has quit [Ping timeout: 256 seconds]
GenTooMan has joined ##openfpga
emeb has quit [Quit: Leaving.]
solo1 has quit [Ping timeout: 265 seconds]
solo1 has joined ##openfpga
mumptai_ has joined ##openfpga
mumptai has quit [Ping timeout: 250 seconds]
<azonenberg> qu1j0t3: just because it can be done doesnt mean its a good fit to the paradigm
Bike has quit [Quit: Lost terminal]
_whitelogger has joined ##openfpga
_whitelogger has joined ##openfpga
emeb_mac has quit [Quit: Leaving.]
_whitelogger has joined ##openfpga
Asu has joined ##openfpga
<tnt> mmm, 1.8ns for net delay between ajacent tiles (ice40) seems high. I could swear I've seen it at 1.2ns before.
<daveshah> It depends what routing resources are used
<daveshah> 1.8ns is plausible if it is using longer distance style routing or bouncing around a bit
<tnt> No according to the gui at least it seems to be using the direct connection between the 6 neighbors.
<daveshah> Hmm
<tnt> I'll try to make a small test case rather than the full design to see what's going on.
<daveshah> Running with --verbose should give you a timing report showing routing resources
<tnt> Oh, interesting, didn't know that.
<daveshah> LocalMux, which I think is what neighbours go through too, looks to be 1.2ns max
<daveshah> according to icebox
<daveshah> so the 1.099 must be a LocalMux and the 0.662 an InMux
<daveshah> (oops, I typed 1.2 and meant 1.1 for LocalMux before)
<daveshah> I'm not sure if it can be lower than that actually
<daveshah> Looking at icetime it seems like it would use the same combination of delays for that routing too
<tnt> mmm, ok, I'll recheck. Would the path from a FF to DOUT_x be the same ? I would think so but ...
<daveshah> Numerically yes (it would use an IoInMux rather than an InMux but it looks like those have the same delay for up5k at least)
<tnt> ok.
<tnt> All ice40 FFs are pos edge right ? they're not configurable that I could find. So I assume any negedge ff would end up using a LUT to invert the clock ?
<daveshah> No they are configurable
<daveshah> the DFFN variants are negedge
<daveshah> it's the NegClk bits in logic and IO tiles
<tnt> Oh I missed that. Ah and it's for all 8 LCs (kind of expected that)
<daveshah> Yep
<tnt> Mmm, looks like the higher fmax I'm seeing on the output path (FF -> DOUT) is because the DOUT setup time is (suspiciously) low.
<tnt> although I guess because there is no LUT in front it's not all that suspicious.
gregdavill has quit [Ping timeout: 256 seconds]
solo1 has quit [Ping timeout: 264 seconds]
solo1 has joined ##openfpga
<tnt> No matter what I do, I don't see how I could pass back from the negedge domain into the posedge one. timing from FF to FF are worse than from the DIN1 to FF.
gregdavill has joined ##openfpga
gregdavill has quit [Ping timeout: 252 seconds]
gregdavill has joined ##openfpga
gregdavill has quit [Ping timeout: 240 seconds]
<lambda> hehe, fun with induction - turns out there's a distinct difference between PSL `s |=> t` and `s |=> t!`. I was using the former to assume my 'run' input is high all the way through a transation (`assume always run |=> run or valid`). The assertion `always not valid -> run` was inexplicably failing on the last cycle after 'run' just went low during a transaction, something the assumption should
<lambda> prevent. yep, without the force (!), not matching at the end of the trace is totally allowed.
<tnt> Is the router somehow biased against using the sp12_h ? Seems like when spannning 3 * sp4_h, using a sp_12 would be faster.
<daveshah> There's nothing particular that would encourage it to use sp4s
<daveshah> It's probably just some consequence of delay estimates
<tnt> mm, yeah, it might be right to use sp4. The sp12 are faster to cross long distances but getting on/off them is tricky, they're not super well connected compared to sp4s.
Bike has joined ##openfpga
<tnt> So, as far as I can tell delays are 'bound' to PIPs and not wires. So doesn't it make any difference at which "point" you enter a span wire and at which point you exit ?
<daveshah> This is a bit of an approximation, it does matter slightly but I think claire never quite figured out the pattern icecube uses (this is equivalent to icetime -m)
OmniMancer has quit [Quit: Leaving.]
<tnt> Oh, so it always use Span{4,12}Mux_{h,v}{4,12} and and never the 0..3 and 0...11 values.
<tnt> (although I'm not sure that the 0 values span issue is supposed to be really ?!)
<daveshah> Although it appears that the numbers correspond to length, icecube sometimes uses a higher number for higher fanouts
<daveshah> I think you can route on and off a span in the same tile
<tnt> Ok, I guess that can make sense.
<tnt> The up5k and u4k timings have two IOPATH lines for Span12Mux_v12 that looks like a bug in the icestorm db.
mumptai_ has quit [Quit: Verlassend]
<daveshah> Based on how icefuzz dedups timings, that means that icecube must use different delay values in different places
<daveshah> Good catch, that's quite interesting
<daveshah> Seems like they must have changed the timing model from hx/lp
mumptai has joined ##openfpga
emeb has joined ##openfpga
solo1 has quit [Ping timeout: 252 seconds]
solo1 has joined ##openfpga
_whitelogger has joined ##openfpga
rohitksingh has quit [Ping timeout: 240 seconds]
grazfather has joined ##openfpga
<grazfather> hey guys, I have a problem with verilator: I am trying to build the headers and source files, but it seems to quietly ignore my package with an enum in it
<grazfather> jumped the gun: https://www.veripool.org/boards/2/topics/2064-Verilator-Using-enumerated-values- I needed `/*verilator public*/` for some reason
peeps[zen] has joined ##openfpga
peepsalot has quit [Ping timeout: 265 seconds]
sgstair has quit [Read error: Connection reset by peer]
sgstair has joined ##openfpga
Bob_Dole has joined ##openfpga
Richard_Simmons has quit [Ping timeout: 256 seconds]
Hoernchen has joined ##openfpga
OmniMancer has joined ##openfpga
balrog has quit [Ping timeout: 240 seconds]
balrog has joined ##openfpga
craigjb has quit [Ping timeout: 250 seconds]
balrog has quit [Ping timeout: 250 seconds]
balrog has joined ##openfpga
genii has joined ##openfpga
balrog has quit [Ping timeout: 256 seconds]
craigjb has joined ##openfpga
balrog has joined ##openfpga
rohitksingh has joined ##openfpga
Asuu has joined ##openfpga
Asu has quit [Ping timeout: 258 seconds]
OmniMancer has quit [Read error: Connection reset by peer]
OmniMancer has joined ##openfpga
lambda has quit [Ping timeout: 246 seconds]
gregdavill has joined ##openfpga
lambda has joined ##openfpga
swedishhat[m] has quit [Ping timeout: 246 seconds]
peeps[zen] is now known as peepsalot
swedishhat[m] has joined ##openfpga
Asuu has quit [Remote host closed the connection]
emeb has quit [Quit: Leaving.]
gregdavill has quit [Ping timeout: 256 seconds]
emeb_mac has joined ##openfpga