renze has quit [Quit: Spaceserver reboot?!]
renze has joined ##openfpga
mumptai has quit [Quit: Verlassend]
cpresser has quit [Ping timeout: 244 seconds]
cpresser has joined ##openfpga
rohitksingh has quit [Ping timeout: 250 seconds]
lovepon has joined ##openfpga
X-Scale has quit [Ping timeout: 244 seconds]
unixb0y has quit [Ping timeout: 240 seconds]
unixb0y has joined ##openfpga
emeb has quit [Quit: Leaving.]
X-Scale has joined ##openfpga
Miyu has quit [Ping timeout: 240 seconds]
Bike has quit [Quit: Lost terminal]
azonenberg_work has quit [Ping timeout: 246 seconds]
futarisIRCcloud has joined ##openfpga
rohitksingh_work has joined ##openfpga
azonenberg_work has joined ##openfpga
TavyCats has joined ##openfpga
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 2 commits to master [+9/-0/±5]
<_whitenotifier> [whitequark/Glasgow] whitequark 955db47 - applet: implement record/replay interface tests.
<_whitenotifier> [whitequark/Glasgow] whitequark c673d19 - applet.spi_flash_25c: cover API with regression tests.
<_whitenotifier> [Glasgow] whitequark unassigned issue #25: Add an USR LED connected to FPGA -
<_whitenotifier> [Glasgow] whitequark closed issue #25: Add an USR LED connected to FPGA -
<_whitenotifier> [Glasgow] whitequark commented on issue #25: Add an USR LED connected to FPGA -
<_whitenotifier> [Glasgow] whitequark unassigned issue #24: Migrate to iCE40HX8K-BG121 -
<_whitenotifier> [Glasgow] whitequark closed issue #24: Migrate to iCE40HX8K-BG121 -
<_whitenotifier> [Glasgow] whitequark commented on issue #24: Migrate to iCE40HX8K-BG121 -
rohitksingh_wor1 has joined ##openfpga
rohitksingh_work has quit [Ping timeout: 268 seconds]
<_whitenotifier> [Glasgow] whitequark commented on issue #67: Add pullups/pulldowns on every pin -
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 1 commit to master [+0/-0/±1]
<_whitenotifier> [whitequark/Glasgow] whitequark 0fc7bac - applet.spi_flash_25c: improve description.
jevinskie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<_whitenotifier> [Glasgow] whitequark opened issue #76: spi-flash-25c erase-program command broken -
<_whitenotifier> [Glasgow] whitequark assigned issue #76: spi-flash-25c erase-program command broken -
rohitksingh_work has joined ##openfpga
rohitksingh_wor1 has quit [Ping timeout: 268 seconds]
jcreedon has quit [Quit: Connection closed for inactivity]
jevinskie has joined ##openfpga
<_whitenotifier> [Glasgow] whitequark unassigned issue #62: Use USB type C connector -
<_whitenotifier> [Glasgow] whitequark unassigned issue #67: Add pullups/pulldowns on every pin -
jcreedon has joined ##openfpga
TavyCats has quit [Ping timeout: 264 seconds]
TavyCats has joined ##openfpga
m4ssi has joined ##openfpga
GuzTech has joined ##openfpga
jevinski_ has joined ##openfpga
Bike has joined ##openfpga
jevinskie has quit [Read error: Connection reset by peer]
jevinskie has joined ##openfpga
jevinski_ has quit [Ping timeout: 246 seconds]
jcreedon has quit [Quit: Connection closed for inactivity]
Flea86 has quit [Quit: Goodbye and thanks for all the dirty sand ;-)]
Miyu has joined ##openfpga
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
X-Scale has quit [Ping timeout: 246 seconds]
[X-Scale] has joined ##openfpga
[X-Scale] is now known as X-Scale
rohitksingh_work has quit [Read error: Connection reset by peer]
<_whitenotifier> [whitequark/Yumewatari] whitequark pushed 2 commits to master [+0/-0/±2]
<_whitenotifier> [whitequark/Yumewatari] whitequark a30c6f8 - gateware.serdes: add Receiver Detection signals.
<_whitenotifier> [whitequark/Yumewatari] whitequark 7b317ba - gateware.platform.lattice_ecp5: implement Receiver Detection FSM.
rohitksingh has joined ##openfpga
rohitksingh has quit [Ping timeout: 264 seconds]
lovepon has quit [Ping timeout: 252 seconds]
rohitksingh has joined ##openfpga
ZipCPU has quit [Ping timeout: 245 seconds]
ZipCPU has joined ##openfpga
[X-Scale] has joined ##openfpga
X-Scale has quit [Ping timeout: 252 seconds]
[X-Scale] is now known as X-Scale
rohitksingh has quit [Ping timeout: 268 seconds]
genii has joined ##openfpga
pie_ has joined ##openfpga
<pie_> does anyone know how to do a drag selection using the kezboard in kicad?
<Zorix> only ever used the mouse
rohitksingh has joined ##openfpga
<tnt> I know there is 'move exact' but it's not exactly dragging ...
rohitksingh has quit [Ping timeout: 240 seconds]
<RaYmAn> '?' key pops up a more or less complete list of special keys
<RaYmAn> or not
<RaYmAn> it used to
<RaYmAn> Ctrl+F1 apparently now
jevinskie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<tnt> whitequark: wrt to glasgow doc ... not sure about others, but I figured since it's a "WIP" project that you'd get to writing doc later and so not bothering you with that now :p
<whitequark> well kinda, i'm trying to come up with interfaces that are actually nice to use
<whitequark> so i only spend time writing up on things that i know will stay the same
<whitequark> e.g. most of basic gateware
rohitksingh has joined ##openfpga
jevinskie has joined ##openfpga
rohitksingh has quit [Ping timeout: 244 seconds]
GuzTech has quit [Quit: Leaving]
<_whitenotifier> [Glasgow] whitequark opened issue #77: Illegal IOx assignments -
<_whitenotifier> [Glasgow] whitequark assigned issue #77: Illegal IOx assignments -
emeb has joined ##openfpga
rohitksingh has joined ##openfpga
emeb has quit [Quit: Leaving.]
<_whitenotifier> [Glasgow] kbeckmann opened issue #78: async has become a reserved keyword in Python 3.7 -
m4ssi has quit [Remote host closed the connection]
jevinskie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jevinskie has joined ##openfpga
rk[ghost] has quit [Ping timeout: 240 seconds]
<pie_> ive done a bit of googling but havent found anything for certain yet...i have 10 subsheets in eeschema to duplicate something 10 times, is there a way to not have to lay out each of them repeatedly in pcbnew?
<whitequark> nope
<pie_> well shit?
<tnt> I haven't replicated it in kicad, but in eagle I used to use a custom script ... you could do the same with python bindings I guess.
rohitksingh has quit [Ping timeout: 244 seconds]
<tnt> Mmm, next-pnr doesn't seem to know about IOB registers in timing analysis.
rohitksingh has joined ##openfpga
<pie_> i know it doesnt work in probably a lot of cases but the falstad circuit simulator is so good...
<pie_> i havent seen anything else thats that interactive
<pie_> though i havent looked very hard
<pie_> ok so that was meant to be a you guys know anything more professional thats perhaps still free and good and such
<tnt> qucs maybe ?
<pie_> thanks ill check that out. now that you mention it it sounds familiar, i may have run into it at some point
<pie_> looks like there might be some qucs -> kicad conversion stuff
<pie_> donts see anything in the other direction sadly
<pie_> kicad ui is nicer than qucs :c
<_whitenotifier> [whitequark/Glasgow] whitequark tagged ef4e170 as revB
<_whitenotifier> [Glasgow] whitequark created tag revB -
rohitksingh has quit [Ping timeout: 252 seconds]
lovepon has joined ##openfpga
<pie_> and im crashing the simulator. oh well.
<TavyCats> pie_: I love how interactive the falstad circit sim is
<TavyCats> makes it very easy to fuck around and explore ideas
<pie_> TavyCats: yeah
<pie_> thats like the whole point :P
<TavyCats> like breadboarding but its easier to know pinouts and its generally less of a mess
<pie_> do any professional tools let you do that
<TavyCats> like, watch scopes/etc as you're altering the circuit?
<pie_> yup
<TavyCats> not sure, but I wonder how close to realtime ngspice is
<TavyCats> and also other things, because it'd be cool to pair kicad with continually running simulation and visual scope outputs
<pie_> apparently kicad has WIP (?) ngspice integration
<pie_> which is why is probably why you brought it up
<TavyCats> it has functional-ish ngspice integration
<TavyCats> sadly my distro is being silly wrt even building libngpsice
<pie_> the wonders of linux :p
<TavyCats> so I guess, time to patch the ngspice.spec and kicad.spec and have a local repo
<TavyCats> hrmph, copr is like the thing to use for this I should figure out what my FAS account was
<pie_> whats copr, whats fas
<TavyCats> copr is like ppa but fedora, fas = fedora account sysem which is fedora's sso thingy
<pie_> ah
<pie_> dumb question...i have this falstad circuit: , theres a switch at the bottom left. why is the current through my red LED lower than the green one?
<pie_> do p mosfets have a bigger voltage drop or what?
<pie_> sidenote: i only have a very vague idea what im doing
<qu1j0t3> pie_: different colour LEDs have different drops
<pie_> qu1j0t3: i dont think the simulator accounts for that
* qu1j0t3 didn't look at the serkis
<qu1j0t3> pie_: It would, if you set the colour
<qu1j0t3> pie_: the differences are pretty significant
<pie_> qu1j0t3: it takes floating point rgb values
<qu1j0t3> meh
<pie_> to set the color
<qu1j0t3> ic
<pie_> i find it more likely im missing some mosfet fundamental
<pie_> or just derping something else in the circuit :p
<pie_> hmmm...actually the voltages across them look a bit different, i think they may not be hooked up "the same" ...
<pie_> though im not sure if this can actually be done the way i want
<pie_> basically i want to switch between the leds depending on the logic signal...
<pie_> *without wasting current
<pie_> the voltage drop over the pmos is like 7mV, the nmos is 2.04mV
<pie_> * 2.04 V
<pie_> ok i think i got it
<pie_> someone told me earlier that for pmos the control voltage is between gate and drain, and for nmos its gate and source
<pie_> and i didnt really pay attention to that
<pie_> not quite sure what the difference is to how i hooked it up yet but this works better
<pie_> ok so basically if i put the nmos before the load, it wont experience the full 5v drop
<pie_> ...i think
<pie_> ok maybe im doing multiple things wrong.
<daveshah> Yes, to use a NMOS as a high side switch you need to supply a higher voltage than the load supply to the gate
<daveshah> Otherwise NMOS can be used as a low side switch as you do here
<daveshah> PMOS can be used as a high side switch without an increased supply, but following "inverted" logic - low at the gate to turn on
<pie_> i was trying to avoid adding extra inverters. for no other reason than needs more components
<pie_> im probably way overcomplicating this
<pie_> basically i want to control one of those two pin red/green leds with a logic signal
<daveshah> You mean an antiparallel style one? What logic voltage?
<pie_> daveshah: 5V
<daveshah> pie_: a bit hacky, but connect one LED pin to your logic output and the other to 1k resistors to both 5V and gnd
<pie_> ok i was about to say i have a design but..., and i think thats the design
<pie_> the problem is i dont think it works (directly) with my use case:
<pie_> im reading the logic signal so i cant source/sink any current on it?
<daveshah> Depends what is driving it and how much load you put on it
<daveshah> If you use a modern high brightness LED the current doesn't have to be high at all
<pie_> this would be a "connected" LED, for a connector that has two pins shorted, and i put VCC through that to detect that its connected
<pie_> ill paste something
<pie_> daveshah: the wire goes off to the LED mess :P
<daveshah> Ah, I see, the pull down does create a problem
<pie_> the problem is ... yeah
<daveshah> In that case I'd just look for a small dual inverter ic tbh
<tnt> connect both input to the signal and the output to your led.
<tnt> Oh wait, you said you were in 5v logic ... not sure if that exists in other logic families.
<pie_> tnt i coooould just use a resistor?
<tnt> yeah, if you have 3v3 to actually power the chip.
<pie_> alternatively i could probably just use the 3.3 from the arduino (meh, we had it on hand :P)
<pie_> tnt: this inverter is for the mosfet h-bridge-like thing?
<daveshah> pie_: other option is to use a small pull down resistor, say 100 ohms and larger say 1k LED resistors in the circuit mentioned above
<daveshah> If power consumption isn't important
<daveshah> If you go the inverter route a dual inverter on its own is enough no mosfet needed
<pie_> daveshah: i have to power 10 of these so it may be, if i need to run it off the arduino/usb
<qu1j0t3> what about a multiplexer with transistor driver array
<qu1j0t3> 2:1 multiplexer to two drivers
<tnt> pie_: sn74lvc2gu04.pdf
<qu1j0t3> oops, 1:2
<tnt> this is a dual inverter (so you have to chain them to get both sides of the led) but it supports 5v.
<pie_> qu1j0t3: is that for switching the current direction? (i dont see it yet)
<pie_> qu1j0t3: inverter would probably be simpler anyway?
<qu1j0t3> actually never mind, i'm overthinking it. i'm sure tnt and daveshah have a better idea
<qu1j0t3> yeah
<pie_> tnt: so how do i hook this up
<qu1j0t3> but just as a random observation i'm impressed this can do 24 mA
<qu1j0t3> this would actually do the job, i think)
<daveshah> Indicator LEDs don't need 24mA unless you want them to be visible from space
<qu1j0t3> indeed!
<tnt> pie_: just connect your wire to one inverter, then the second inverter at the output of the firstinverter and connect your led across the second inverter with a current limiting resistor.
<pie_> ah. lol.
indy has quit [Read error: Connection reset by peer]
<pie_> that seems kind of dumb but i see how it works :P
<qu1j0t3> dumb can be smart!
<tnt> when you think about the push-pull driver output stage of those inverter, well ... you made a h bridge :p
<pie_> tnt: huh.
futarisIRCcloud has joined ##openfpga
<pie_> tnt: um, do i use the same voltage divider circuit?
<tnt> that chip can take the 5v both at the input and as vcc.
<pie_> ok but what about the non-chip end...
<tnt> what ?
<pie_> i mean the led has two ends, the dual inverter goes on one end, what goes on the other end?
<tnt> I said, "place the led across the second inverter"
<tnt> _across_
<pie_> ahaaa
<pie_> ok thats messed up, i love it :D
<pie_> tnt, daveshah: thanks
indy has joined ##openfpga
<pie_> time to learn how to add devices to kicad
<tnt> I'm pretty sure that device is in kicad already
<pie_> hm, i didnt find it but ill take another look
<tnt> it has implicit vcc/gnd pins though IIRC which is annoying.
<pie_> or im missing something
<pie_> is there something other than the standard library?
<pie_> tnt: yeah about that, do they show up in the pcb editor or do they need to be explicitly added or something?
<tnt> ther eis a 74xGxx library
<tnt> which has the 74x2G04 in there.
<tnt> you need nets names vcc and gnd in the schemtic and it will use that.
<tnt> daveshah: is there anyway to use/extract the 'typical' timing from icecube instead of the 'worst cast' ones ?
<daveshah> tnt: you can change the voltage and temperature for a start
<tnt> daveshah: you can do that in nextpnr ?
<daveshah> No
<daveshah> We only have the 85 degrees and 1.14V timing data in icecube
<daveshah> *from icecube
<daveshah> But it would be theoretically possible to get the 25 degree and tighter voltage ones too for example
<tnt> yeah, that was my question, is there anyway to extract other timing data ? I've been running my up5k at 1.35v and I'd like timing data matching that more closely :p
<daveshah> These settings are definitely configurable
<daveshah> But certainly not all the way to 1.35V
<daveshah> Basically it would be a case of modifying the project files icefuzz creates and rerunning icefuzz and the timing extraction stuff
<tnt> yeah, that's fine. It's mostly so I can safely use the nominal 1.2v one and be sure the rail isn't going to ever dip below that.
<pie_> tnt: figures, i was looking for dual inverter
<daveshah> The other option is to do it more experimentally
<daveshah> Using a ring oscillator to characterise the change in delay vs vcc
<daveshah> azonenberg_work has done stuff like this before
<tnt> daveshah: yeah, that's something I wanted to do as well to see how much exactly it varies.
<qu1j0t3> ha.
<daveshah> If you were really pushing things you could build a rig to bin devices too
<sorear> characterise individual LUTs and timing paths, then do timing-directed placement to put the most critical paths on the best LUTs in a given device :3
azonenberg_work has quit [Ping timeout: 268 seconds]
<tnt> daveshah: huh yeah, not that much :p I had just noticed that the vcc dependency was _really_ strong when testing with icecube. I guess to be ultra low power they operate right at the edge. And that's why i pushed vcc a bit just so I could use the 'typical' timing and still be safe because it's easily 50% faster which is not insignificant.
<daveshah> Would be quite interesting to see the static power vs Vcc curve too, for that matter
<daveshah> I know the 1.2V ECP5-5Gs are 30% faster fabric wise than the 1.1V ECP5s
<daveshah> So there is certainly a strong voltage dependency there too
<tnt> daveshah: yeah. Although ...yesterday, I filled 3000 FF, toggling at every cycles at 82.5 MHz and couldn't get the damn part to heat more than 1C above ambiant. I don't have current sense on the vcore but given the 5V usage, it couldn't have been more than 45 mA ...
<tnt> Toggling half the IOs at 170 MHz did raise the power and temp a bit. But not even that much.
<sorear> which part?
<tnt> UP5k
<tnt> (ice 40)
renze has quit [Quit: Spaceserver reboot?!]
renze has joined ##openfpga
<tnt> Mmm, I think I have all the gear to actually make automated curve tracing for speed and power (freq counter, SMU, thermocouple and power resistor for temp testing) ...
Miyu has quit [Ping timeout: 260 seconds]
<SolraBizna> I can't even seem to do something simple like read an SPI memory.
<SolraBizna> Without an oscilloscope, I can't even tell if I'm affecting the SPI bus at all.
<tnt> SolraBizna: beware that the ice40 put the flash to sleep after config. It needs to be woken up with 0xAB command.
<SolraBizna> I'm doing that.
<tnt> Ah well, that was what got me :p
<SolraBizna> I reset the FT232, put it into MPSSE mode, send FFFFFFFF... to clear mode bits (to be safe), send AB to get out of power down, wait 10ms to be *very* sure it's out of power down, and then try 0B
<SolraBizna> (with appropriate booping of the CS pin, and CRESET on the iCE40 being held low)
<SolraBizna> ... and now it works.
Miyu has joined ##openfpga
<SolraBizna> waiting 700ms, attempting to read from the FT232 (and getting nothing), and *then* sending Fast Read works
<SolraBizna> waiting 500ms flatly doesn't work, and waiting 600ms gets corrupted data most of the way through the read
azonenberg_work has joined ##openfpga
<pie_> i might as well ask, is there maybe something where i can combine a mux and individual flip-flops? right now i have a 4bit -> 16 line mux (one for data, one for clk) setting data in 10 individual 1bit flip-flops
<pie_> i.e. i want to be able to set individual "bits" without resetting the rest of them
<pie_> this is what my stuff looks like right now
<daveshah> pie_: looking for a flip flop with an enable input might be an option
<daveshah> Then you just feed data and clock to all of them and just need to decode the enable
<pie_> daveshah: you mean a flip flop with individual enables for several bits? didnt think that would exist
<pie_> pretty sure im misunderstanding
<pie_> if you mean needing to feed all the bits, thats basically what i wanted to avoid?
<daveshah> The idea is if the flip flop has an enable input you can connect data and clock to all flip flops in parallel
<daveshah> And just use a decoder to select one enable
<daveshah> Even with the current design it should be fine to connect data to all flip flops without a mux
<daveshah> And just mux the clocks
<pie_> ah um ok i think i got it, need to think for a bit