whitequark[cis] changed the topic of #glasgow to: https://glasgow-embedded.org · digital interface explorer · https://www.crowdsupply.com/1bitsquared/glasgow · meetings Saturday 2200 UTC · code https://github.com/GlasgowEmbedded/glasgow · logs https://libera.irclog.whitequark.org/glasgow · matrix #glasgow-interface-explorer:matrix.org · discord https://1bitsquared.com/pages/chat
jstein has joined #glasgow
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
esden[m] has quit [Quit: Idle timeout reached: 172800s]
pg12 has quit [Ping timeout: 255 seconds]
pg12 has joined #glasgow
pg12 has quit [Ping timeout: 255 seconds]
pg12 has joined #glasgow
esden[cis] has quit [Quit: Idle timeout reached: 172800s]
jstein has quit [Quit: quit]
joerg has quit [Ping timeout: 248 seconds]
joerg has joined #glasgow
nyanotech has quit [Quit: No Ping reply in 180 seconds.]
nyanotech has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
ar-jan has joined #glasgow
ar-jan has quit [Ping timeout: 255 seconds]
marcus_c has quit [Ping timeout: 260 seconds]
jan2642[m] has joined #glasgow
<jan2642[m]> :q
feldim2425_ has joined #glasgow
feldim2425 has quit [Ping timeout: 258 seconds]
vegard_e[m] has quit [Quit: Idle timeout reached: 172800s]
duskwuff[m] has quit [Quit: Idle timeout reached: 172800s]
nemanjan00[m] has joined #glasgow
<nemanjan00[m]> I am implementing wiegand applet right now and I was thinking how cool it would be if there was integration with sigrok, to use real capture with simulation
<whitequark[cis]> I think pyvcd has a vcd reader now, if that's the specific thing you want. that said, there is a record/replay feature that's used in e.g. SPI flash tests
<whitequark[cis]> that also lets you use real captures (with Glasgow itself) with simulation, on a higher level
<nemanjan00[m]> I will be looking into those options. I did write some code and wanted to start testing it, but, do not have hardware yet
<nemanjan00[m]> Another question. I am beginner in HDL, so I just wanted to confirm I am on the right path...
<nemanjan00[m]> I need to detect end of wiegand transmission (time passed without any transmissions)
<nemanjan00[m]> I am guessing I just need to use counter for that and calculate number of clock ticks in time-frame I want to use as timeout? (just making sure there is not smarter solution)
<nemanjan00[m]> * as timeout and just reset counter when I get data? (just
korrel[m] has joined #glasgow
<korrel[m]> I'm currently looking for a way to monitor a slightly exotic interface, and was wondering if I could do that with the Glasgow after it reaches general availability.... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/EhHYcTcBioKAwsFhrenyrgby>)
<whitequark[cis]> what voltage?
marcus_c has joined #glasgow
adamgreig[m] has joined #glasgow
<adamgreig[m]> Is it spacewire?
<gruetzkopf> sure sounds like it
<adamgreig[m]> The data/strobe was surprisingly annoying to do well at high bit rates on an fpga iirc, because it's not easy to generate a glitchless sample clock from the xor
<adamgreig[m]> Presumably there's somehow a way.
<gruetzkopf> iirc GRLIB recommends the "sample first, xor later" mode for FPGA, but that's been a while..
bvernoux has joined #glasgow
<adamgreig[m]> Yea, I think that's the best way, but it limits what but rates you can keep up with as you need sufficient oversampling
<adamgreig[m]> bit rates*
<gruetzkopf> yeah. 60MBps SpW sounds *doable* from the fabric but that's definitly on the high side of feasible
<gruetzkopf> at least on the LVDS header IO buffer bandwidth is not something one needs to think about - but going through the IO buffer and using external LVDS phys is safer
<adamgreig[m]> If you had an external lvds phy you could perhaps also do an external xor and feed the fpga just clock and data?
<adamgreig[m]> Basically an external 1355 phy at that point though...
<korrel[m]> Yes, it's SpaceWire, LVDS voltage swing 350mV, common mode 1.125V-1.45V.
<korrel[m]> Hm, yeah, I will look into an external driver.
<gruetzkopf> lattice _claims_ the LVDS inputs will go to 400MHz, and i think i can see a feasible data path.
<gruetzkopf> TX is much simper
<adamgreig[m]> I think the lvds interface is fine in terms of signal level and clock
<adamgreig[m]> It's just processing it in the fpga
<adamgreig[m]> Or rather I'm sure it's fine in terms of those things as I've basically done it on an ice40hx before
<adamgreig[m]> But external driver protects the glasgow fpga io in case you accidentally connect something a bit esd-y or overvoltage or so
<korrel[m]> I think we still have some ICE40hx boards somewhere, did you use an open design for your implementation?
<adamgreig[m]> (Glasgow is ice40hx is why I mention it)
<adamgreig[m]> It wasn't open but also it's not 1355, just similar lvds voltages and bitrates
<korrel[m]> Ok!
<korrel[m]> In any case, I wouldn't immediately know how to get the data out of the ICE40hx onto a host without re-threadding the Glasgow design process....
* gruetzkopf opens ECSS-E-ST-50-12C
<korrel[m]> Yeah...
<gruetzkopf> spacewire is a interesting-to-me spec but i have precisely zero devices with it. how low-level do you want to look at it?
<gruetzkopf> just N-Chars or everything?
<gruetzkopf> fully capturing both directions of a 60MBps link and pushing it to the sounds feasible. even if one is not trying to be clever about it that's "only" 240Mbit/s (16bit per transfered char, longest char on bus is timecode at 14 bits)
<gruetzkopf> *to the host
<adamgreig[m]> <korrel[m]> "In any case, I wouldn't immediat..." <- Yea, no point doing that, I think either Glasgow as-is or maybe with an external lvds xcvr just for added protection, only question is whether the ice40 can quite manage 60Mbps or not
<adamgreig[m]> in terms of sampling the bus, not what happens once you get the data, that's probably ok
<gruetzkopf> i think the most fiddly part here is actually sampling the data after xor, and detecting end of character, everything behind that is well handled by glasgow and amaranth (fifo, CDC, usb)
cakes has quit [Ping timeout: 258 seconds]
cakes has joined #glasgow
cakes has joined #glasgow
<korrel[m]> Thanks for your comments, I will look into the FPGA "front-end" design, I will have to do that at some point anyway. 🙂
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
ar-jan has joined #glasgow
icb[m] has quit [Quit: Idle timeout reached: 172800s]
anubis has joined #glasgow
anubis has quit [Remote host closed the connection]
anubis has joined #glasgow
anubis has quit [Ping timeout: 272 seconds]
anubis has joined #glasgow
jstein has joined #glasgow
anubis has quit [Ping timeout: 255 seconds]
<_whitenotifier> [glasgow] TobiX opened pull request #472: Migrate from appdirs to platformdirs - https://github.com/GlasgowEmbedded/glasgow/pull/472
<_whitenotifier> [glasgow] TobiX synchronize pull request #472: Migrate from appdirs to platformdirs - https://github.com/GlasgowEmbedded/glasgow/pull/472
<_whitenotifier> [glasgow] whitequark commented on pull request #472: Migrate from appdirs to platformdirs - https://github.com/GlasgowEmbedded/glasgow/pull/472#issuecomment-1781776761
<_whitenotifier> [glasgow] whitequark synchronize pull request #472: Migrate from appdirs to platformdirs - https://github.com/GlasgowEmbedded/glasgow/pull/472
<_whitenotifier> [glasgow] whitequark synchronize pull request #472: Migrate from appdirs to platformdirs - https://github.com/GlasgowEmbedded/glasgow/pull/472
<_whitenotifier> [glasgow] whitequark commented on pull request #472: Migrate from appdirs to platformdirs - https://github.com/GlasgowEmbedded/glasgow/pull/472#issuecomment-1781818452
<_whitenotifier> [glasgow] whitequark commented on issue #286: applet.memory-25x: Sector parameter, doesn't update erase opcode - https://github.com/GlasgowEmbedded/glasgow/issues/286#issuecomment-1781819759
<_whitenotifier> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-472-f1a61305d6d2ec0bdf41199532fe04b4bf352f7c - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 2 commits to main [+0/-0/±4] https://github.com/GlasgowEmbedded/glasgow/compare/f1a61305d6d2...1efa4ea2263f
<_whitenotifier> [GlasgowEmbedded/glasgow] TobiX dc5d99e - software: Migrate from appdirs to platformdirs
<_whitenotifier> [GlasgowEmbedded/glasgow] whitequark 1efa4ea - CI: revert to using latest PDM release.
<_whitenotifier> [glasgow] whitequark closed pull request #472: Migrate from appdirs to platformdirs - https://github.com/GlasgowEmbedded/glasgow/pull/472
<_whitenotifier> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-472-f1a61305d6d2ec0bdf41199532fe04b4bf352f7c - https://github.com/GlasgowEmbedded/glasgow
elena[m] has quit [Quit: Idle timeout reached: 172800s]
ar-jan has quit [Ping timeout: 272 seconds]
<_whitenotifier> [glasgow] wanda-phi opened pull request #473: protocol.jesd3: fix error reporting. - https://github.com/GlasgowEmbedded/glasgow/pull/473
<_whitenotifier> [glasgow] gregdavill commented on issue #286: applet.memory-25x: Sector parameter, doesn't update erase opcode - https://github.com/GlasgowEmbedded/glasgow/issues/286#issuecomment-1781922927
<_whitenotifier> [glasgow] whitequark commented on issue #286: applet.memory-25x: Sector parameter, doesn't update erase opcode - https://github.com/GlasgowEmbedded/glasgow/issues/286#issuecomment-1781924458
<_whitenotifier> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-473-1efa4ea2263fda7440739ba4a306c15bb6a4bccc - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [glasgow] wanda-phi opened pull request #474: protocol.jesd3: fix `bitarray` conversion fallout. - https://github.com/GlasgowEmbedded/glasgow/pull/474
<_whitenotifier> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±1] https://github.com/GlasgowEmbedded/glasgow/compare/1efa4ea2263f...1c9d56de6180
<_whitenotifier> [GlasgowEmbedded/glasgow] wanda-phi 1c9d56d - protocol.jesd3: fix error reporting.
<_whitenotifier> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-473-1efa4ea2263fda7440739ba4a306c15bb6a4bccc - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [glasgow] whitequark closed pull request #473: protocol.jesd3: fix error reporting. - https://github.com/GlasgowEmbedded/glasgow/pull/473
duderonomy has joined #glasgow
<_whitenotifier> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-474-1c9d56de6180ca985c03d1bd2d6186484e93294a - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±1] https://github.com/GlasgowEmbedded/glasgow/compare/1c9d56de6180...b5097ccf9a2a
<_whitenotifier> [GlasgowEmbedded/glasgow] wanda-phi b5097cc - protocol.jesd3: fix `bitarray` conversion fallout.
<_whitenotifier> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-474-1c9d56de6180ca985c03d1bd2d6186484e93294a - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [glasgow] whitequark closed pull request #474: protocol.jesd3: fix `bitarray` conversion fallout. - https://github.com/GlasgowEmbedded/glasgow/pull/474
<_whitenotifier> [glasgow] wanda-phi opened pull request #475: support.bits: fix assignment to bitarray slice. - https://github.com/GlasgowEmbedded/glasgow/pull/475
<Wanda[cis]> I'm sorry I'm not good at this whole "programming" thing
<_whitenotifier> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-475-b5097ccf9a2ad33ff331c870e1bc0909c5a8f52d - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±2] https://github.com/GlasgowEmbedded/glasgow/compare/b5097ccf9a2a...42f75861bf44
<_whitenotifier> [glasgow] whitequark closed pull request #475: support.bits: fix assignment to bitarray slice. - https://github.com/GlasgowEmbedded/glasgow/pull/475
<_whitenotifier> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-475-b5097ccf9a2ad33ff331c870e1bc0909c5a8f52d - https://github.com/GlasgowEmbedded/glasgow
bvernoux has quit [Quit: Leaving]
<_whitenotifier> [glasgow] wanda-phi opened pull request #476: protocol.jesd3: add `JESD3Emitter`. - https://github.com/GlasgowEmbedded/glasgow/pull/476
<_whitenotifier> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-476-42f75861bf44f043eb6351b1bafdbe65b4281423 - https://github.com/GlasgowEmbedded/glasgow
<whitequark[cis]> <3
<_whitenotifier> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+1/-0/±1] https://github.com/GlasgowEmbedded/glasgow/compare/42f75861bf44...a07ec6af4565
<_whitenotifier> [GlasgowEmbedded/glasgow] wanda-phi a07ec6a - protocol.jesd3: add `JESD3Emitter`.
<_whitenotifier> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-476-42f75861bf44f043eb6351b1bafdbe65b4281423 - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [glasgow] whitequark closed pull request #476: protocol.jesd3: add `JESD3Emitter`. - https://github.com/GlasgowEmbedded/glasgow/pull/476
<Wanda[cis]> alright, now it's time to test the actual useful thing
* Wanda[cis] looks for its glasgow and XC9500XL
<whitequark[cis]> shall i also find one?
<Wanda[cis]> sure, why not
<Wanda[cis]> I think I found one
<whitequark[cis]> Wanda[cis]: potentially considerable effort in searching boxes
<whitequark[cis]> hmmm
<Wanda[cis]> hm
<Wanda[cis]> I have some XC9500
<Wanda[cis]> not sure if they're XL
<whitequark[cis]> i wonder if you could use the record/replay feature to record hardware-in-loop tests...
<whitequark[cis]> (you should be able to)
<Wanda[cis]> alright, found one XL
<Wanda[cis]> E: g.cli: cannot set I/O port(s) AB pull resistors to low={} high={} um what
<whitequark[cis]> which rev?
<Wanda[cis]> C3
<whitequark[cis]> uhhh, have you set the voltage first?
<Wanda[cis]> huh.
<Wanda[cis]> it failed when I used --keep-voltage
<Wanda[cis]> oh
<Wanda[cis]> I guess port B was still at 0V
<whitequark[cis]> cause the pulls are powered from the voltage
<whitequark[cis]> yep. this is a stupid footgun we should just not have
<whitequark[cis]> #460 will fix it
<Wanda[cis]> right, I had port A at 3.3V, port B at 0, and used --keep-voltage
<Wanda[cis]> alright, I grabbed a JED out of the device, it came out all-0
<Wanda[cis]> hmmm
<Wanda[cis]> bleh this devboard doesn't even have a clock generator for a blinky
<Wanda[cis]> ... I don't suppose we have a clock generator applet?
<whitequark[cis]> not atm
<whitequark[cis]> we could :3
<whitequark[cis]> though u could just touch the testpoint on the glasgow itself
<whitequark[cis]> that gives you 48M
<Wanda[cis]> ... I just went with a paw-operated clock
<Wanda[cis]> that would work better with a debouncer or something, but oh well, LEDs blink
<whitequark[cis]> o:3
<whitequark[cis]> purrfect
<_whitenotifier> [glasgow] wanda-phi opened pull request #477: applet.program.xc9500xl: convert to use .jed files natively. - https://github.com/GlasgowEmbedded/glasgow/pull/477
<Wanda[cis]> so, hardware-in-loop tests, you say
<_whitenotifier> [glasgow] whitequark opened pull request #478: Require aiohttp>=3.9.0b0 for Python 3.12 compatibility - https://github.com/GlasgowEmbedded/glasgow/pull/478
<whitequark[cis]> yeah, there's a record-replay type thing
<whitequark[cis]> it's turbo undocumented though :(
<Wanda[cis]> my favorite kind of feature
<whitequark[cis]> hm. do you exist, Wanda?
<Wanda[cis]> ... do I have to pull the LLVM quote
<whitequark[cis]> heh
<whitequark[cis]> lemme add the right account to the org
<whitequark[cis]> done
<_whitenotifier> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-477-a07ec6af456504e4a14971db86f0841598c96c71 - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier> [glasgow] whitequark synchronize pull request #478: Require aiohttp>=3.9.0b0 for Python 3.12 compatibility - https://github.com/GlasgowEmbedded/glasgow/pull/478
<Wanda[cis]> I think I also need to be on a team?
<whitequark[cis]> oh, hm
<whitequark[cis]> done
<whitequark[cis]> yep, valid
<_whitenotifier> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±2] https://github.com/GlasgowEmbedded/glasgow/compare/a07ec6af4565...dd08867c0783
<_whitenotifier> [GlasgowEmbedded/glasgow] wanda-phi dd08867 - applet.program.xc9500xl: convert to use .jed files natively.
<_whitenotifier> [glasgow] whitequark closed pull request #477: applet.program.xc9500xl: convert to use .jed files natively. - https://github.com/GlasgowEmbedded/glasgow/pull/477
<_whitenotifier> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-477-a07ec6af456504e4a14971db86f0841598c96c71 - https://github.com/GlasgowEmbedded/glasgow
<whitequark[cis]> \o/
<whitequark[cis]> very good job!!!
<_whitenotifier> [glasgow] whitequark commented on pull request #288: XC95000XL: Merging the tool into the applet to migrate from .bit to .jed - https://github.com/GlasgowEmbedded/glasgow/pull/288#issuecomment-1782050156
<_whitenotifier> [glasgow] whitequark closed pull request #288: XC95000XL: Merging the tool into the applet to migrate from .bit to .jed - https://github.com/GlasgowEmbedded/glasgow/pull/288
jstein has quit [Quit: quit]
<Wanda[cis]> I'm thinking about beefing up this applet
<_whitenotifier> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-478-dd08867c0783ea9c61efe474b03cb7c34966cffe - https://github.com/GlasgowEmbedded/glasgow
<whitequark[cis]> oooh!
<whitequark[cis]> yees? :3
<Wanda[cis]> the kind of beefing up that will involve renaming it to "program-xc9500"
<Wanda[cis]> too bad the XC9500 fuse layout is kinda messy
<Wanda[cis]> adding XC9500XV support would be much easier, except for the part where I have to make a breakout board
<Wanda[cis]> also I can add support for setting the read/write lock bits, if anyone cares for that
<Wanda[cis]> (the only functional difference between XC9500XL and XC9500XV is that XV has a "DONE" bit which you are supposed to program at the very end; it's in the middle of the bitstream array; XC9500 otoh has very different and more complex bitstream layout)
<_whitenotifier> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±3] https://github.com/GlasgowEmbedded/glasgow/compare/dd08867c0783...60545713d10a
<_whitenotifier> [GlasgowEmbedded/glasgow] whitequark 6054571 - software: require aiohttp>=3.9.0b0.
<_whitenotifier> [glasgow] whitequark closed pull request #478: Require aiohttp>=3.9.0b0 for Python 3.12 compatibility - https://github.com/GlasgowEmbedded/glasgow/pull/478
<_whitenotifier> [glasgow] whitequark closed issue #454: Python 3.12 is not supported - https://github.com/GlasgowEmbedded/glasgow/issues/454
<_whitenotifier> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-478-dd08867c0783ea9c61efe474b03cb7c34966cffe - https://github.com/GlasgowEmbedded/glasgow