whitequark changed the topic of #glasgow to: glasgow debug tool · code https://github.com/GlasgowEmbedded/Glasgow · logs https://freenode.irclog.whitequark.org/glasgow
ali-as has joined #glasgow
ali_as has quit [Remote host closed the connection]
futarisIRCcloud has joined #glasgow
<whitequark> marcan: oh
<whitequark> ohhh i was wondering if it's that or what i wrote
<whitequark> and i misread which PLLs map to which GBINs
m4ssi has joined #glasgow
m4ssi has quit [Remote host closed the connection]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
futarisIRCcloud has joined #glasgow
egg|floating|egg has quit [Read error: Connection reset by peer]
m4ssi has joined #glasgow
oeuf has joined #glasgow
AxiomaticEspress has quit [Quit: WeeChat 2.4]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<whitequark> daveshah: ha, so I was playing with PLLs and I hit #258
<whitequark> and it's already fixed!!
<tnt> sorry about that, not sure what I was thinking when I wrote that loop.
<whitequark> daveshah: is there any way to disable the pullup without instantiating SB_IO?
<daveshah> Is there a pin? You can use -pullup no in the PCF
<whitequark> daveshah: hmm, let me see if that works
<whitequark> daveshah: that's kind of a problem
<whitequark> migen can't add a pin to PCF without adding a toplevel port for it
<whitequark> and in that case nextpnr adds an io buffer even if the port isn't actually used
<whitequark> do you think it's possible to skip creation of the buffer if the port is never used in the design?
<whitequark> the problem is, of course, that the buffer conflicts with the colocated PLL
<tnt> the buffer instance is where the pullup config is in next pnr, so no buffer, no pullup config.
<whitequark> oh, so then -pullup in PCF won't work for me at all
<tnt> but the buffer only conflicts with the pll if the input path is used.
<tnt> if there is nothing connected there, there will be no conflicts.
<whitequark> that's not exactly true
<whitequark> as i've said if the port is never used, the buffer still conflicts with the PLL
<whitequark> i just checked
<whitequark> the $nextpnr_iobuf is treated as if its input path is used
<tnt> right, the auto-inserted one.
<whitequark> yep
<_whitenotifier-1> [GlasgowEmbedded/Glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/fjqaw
<_whitenotifier-1> [GlasgowEmbedded/Glasgow] whitequark 403f118 - revC: correct the explanation for GBIN0/1 balls being shared.
<whitequark> the *not* auto inserted one is a problem too
<tnt> Mmm, that's unexpected :/
<tnt> do you have a minimal test case ?
<whitequark> because if the SB_IO input ports are connected to wires that don't go anywhere, it still counts as "used"
<tnt> yeah, you need to leave them floating.
<tnt> .DIN(),
<whitequark> that's very inconvenient
<whitequark> but anyway, the auto inserted buffer behavior is clearly buggy
<tnt> ideally nextpnr should really trim all the nets without any users.
<whitequark> yeah
<whitequark> I just looked at the code that handles $nextpnr_iobuf
<whitequark> so I can't instantiate an input buffer there (it'd conflict with PLL), an output buffer there (it'd drive the pin) and an inout buffer there (it'd conflict with PLL even if it's always driven to hi-z)
<whitequark> my only option appears to be explicitly instantiating an SB_IO
<daveshah> An unused input should work
<tnt> Check could be expended there but having to do it every place is a bit annoying. Or introduce a net_is_unused() util in desgin_utils.c that check for either nullptr, or no users.
<whitequark> daveshah: just checked and it doesn't
<daveshah> ah, I see
<whitequark> ah, it might be there's a wire
<whitequark> since there's no way to turn an inout port into an input in migen without connecting it to a wire
<tnt> (completely untested ....)
<whitequark> tnt: hrm
<whitequark> ERROR: Bel 'X16/Y33/io1' of type 'SB_IO' is not valid for cell 'SB_IO_24' of type 'SB_IO'
<tnt> on the plus side, it went further :p
<whitequark> yeah
<whitequark> or
<whitequark> ERROR: Bel 'X16/Y33/io1' of type 'SB_IO' is not valid for cell 'unused[1]$sb_io' of type 'SB_IO'
<whitequark> if i make it a plain input
<tnt> the same check is done later I think and needs to be fixed too.
<whitequark> ERROR: Found two nets with same source wire X16/Y33/io_1/D_IN_0: pix2_clk vs glasgowhardwaretarget[1]
<whitequark> that's the dummy wire i assigned that input to
<whitequark> or: ERROR: Found two nets with same source wire X16/Y33/io_1/D_IN_0: i[1] vs pix2_clk
<whitequark> with SB_IO
<whitequark> what's left for us to cut revC1?
<whitequark> marcan: hmm
<marcan> assuming you're okay with giving up on LVDS testpoints, not much
<marcan> I'd like bunnie to give it a look if I can get ahold of him
<whitequark> i think we can skip LVDS testpoints
<tnt> whitequark: do you have a test case handy ?
<whitequark> tnt: yes but it's not minimal
<whitequark> (attn: zipbomb)
<tnt> Oh, ... I see
<tnt> not a fix at all but if you use PLLOUTGLOBAL instead of PLLOUTCORE, it works :p
<whitequark> ha
<tnt> this works for me.
<tnt> daveshah: ^^ opinion ? too "brute force" ?
<daveshah> Looks good
nrossi has quit [Ping timeout: 240 seconds]
Guest87205 has quit [Ping timeout: 252 seconds]
fridtjof[m] has quit [Ping timeout: 265 seconds]
cyrillu[m] has quit [Ping timeout: 240 seconds]
<thaytan> marcan, I only see bunnie here on freenode every now and then, but xobs is usually on here somewhere and can reach him easily
<gruetzkopf> xobs is easily reachable on oftc, too
m4ssi has quit [Remote host closed the connection]
m4ssi has joined #glasgow
gsuberland has joined #glasgow
m4ssi has quit [Remote host closed the connection]
electronic_eel has joined #glasgow
<electronic_eel> hi
<_whitenotifier-1> [Glasgow] electroniceel commented on pull request #123: Add ESD protection diodes for AUX pins too - https://git.io/fjqMa
m4ssi has joined #glasgow
m4ssi has quit [Remote host closed the connection]
voxadam has quit [Ping timeout: 240 seconds]
voxadam has joined #glasgow
electronic_eel has quit [Quit: Konversation terminated!]
futarisIRCcloud has joined #glasgow