ChanServ changed the topic of #nmigen to: nMigen hardware description language · code at https://github.com/nmigen · logs at https://freenode.irclog.whitequark.org/nmigen · IRC meetings each Monday at 1800 UTC · next meeting TBD
kmc has joined #nmigen
lf has quit [Ping timeout: 268 seconds]
lf has joined #nmigen
FL4SHK has joined #nmigen
jeanthom has quit [Ping timeout: 265 seconds]
Chips4Makers has joined #nmigen
electronic_eel has quit [Ping timeout: 240 seconds]
electronic_eel_ has joined #nmigen
FL4SHK has quit [Ping timeout: 256 seconds]
FL4SHK has joined #nmigen
electronic_eel_ has quit [Ping timeout: 260 seconds]
electronic_eel has joined #nmigen
bsmt has quit [Excess Flood]
bsmt has joined #nmigen
PyroPeter_ has joined #nmigen
PyroPeter has quit [Ping timeout: 272 seconds]
PyroPeter_ is now known as PyroPeter
Degi_ has joined #nmigen
Degi has quit [Ping timeout: 246 seconds]
Degi_ is now known as Degi
proteusguy has quit [Ping timeout: 246 seconds]
proteusguy has joined #nmigen
emeb_mac has quit [Quit: Leaving.]
falteckz_ has quit [Quit: Leaving]
Bertl_oO is now known as Bertl_zZ
peeps[zen] has joined #nmigen
peepsalot has quit [Ping timeout: 256 seconds]
peeps[zen] is now known as peepsalot
peepsalot has quit [Quit: Connection reset by peep]
peepsalot has joined #nmigen
jeanthom has joined #nmigen
korken89 has joined #nmigen
jeanthom has quit [Ping timeout: 260 seconds]
<korken89> Is there something built into nMigen to declare signals in modules as input/outputs?
<korken89> I quite like what I saw in anuejn's code where there was `self.signal @ DOWNWARDS` for example, and I'm thinking if something similar can be done for output/input definitions
<whitequark> not yet, there is an open issue for that
<korken89> Cool, I'll have a look!
_whitelogger has joined #nmigen
<anuejn> korken89: you should be able to use the stream abstraction from that repo without most of the other stuff
<anuejn> If you are intersested i can try to repackage some of that code as a seperate libray
<korken89> I'm thinking about trying to lift out portions of it, it's quite handy for streams
<korken89> Just one question that I am not sure of, how do you packet the data to send it over the FTDI FIFO? I mean, start of packet, etc etc to synchronize to the data stream on the PC side
<korken89> The stream seems to be just that, a stream, without any synchronization added?
FL4SHK has quit [Ping timeout: 260 seconds]
FL4SHK has joined #nmigen
<korken89> Btw, which is the recommended version to use right now of nMigen? Should one use the released 0.2 or follow the git master? 0.2 seems sort of "old" with its release last Feb.
<anuejn> I do that one level above by diallswing the 0 character and inserting blanking https://github.com/apertus-open-source-cinema/nmigen-gateware/blob/master/src/lib/video/ft60x_legalizer.py
<korken89> Oh, you just replace 0's with 1?
<whitequark> korken89: I would suggest master; it's pretty close to a release
<korken89> Cool, thanks! I saw there was some fixes to the AsyncFIFO which I'm using a lot, so feels safer as well :)
<anuejn> korken89: yup. Thah works for me because i am transferring 8bit raw images and the noise introduced by that is negligeble
<korken89> Neat!
<korken89> Great example, gives me a lot of ideas :)
<korken89> Now I just need to see if there is a Rust driver for the chip or if I need to use the proprietary drivers
<anuejn> korken89: we also have something for that: https://github.com/apertus-open-source-cinema/ft60x-rs
<anuejn> the aligning is a bit funky here because we want to avoid coppying the stream and one must request multiples of the buffer size from the ft601
jeanthom has joined #nmigen
jeanthom has quit [Ping timeout: 272 seconds]
<korken89> anuejn: Thanks, looks quite promising!
lkcl has quit [Ping timeout: 256 seconds]
lkcl has joined #nmigen
emeb has joined #nmigen
<_whitenotifier> [nmigen] whitequark reviewed pull request #547 commit - https://git.io/JL7X0
Bertl_zZ is now known as Bertl
jeanthom has joined #nmigen
<anuejn> whitequark: what do you mean by "In cases like this it's OK to do cross-cutting changes through the entire vendor/ subdirectory; you don't need to change any platforms you aren't familiar with."?
<whitequark> anuejn: I meant that making a change to build.plat and the relevant vendor platforms in one commit makes sense
<whitequark> but the way I wrote it could be read as me asking you to fix *all* SDC-using platforms
<whitequark> which I tried to clarify but probably just made it more confusing instead
<anuejn> ah okay so I tested it for machxo and ecp5
<anuejn> so these should be done in one commit and the others should be untouched?
<whitequark> basically, what i want is one bug per commit, because when someone inevitably investigates the history to understand why it's like that, this will be the easiest to understand
<whitequark> i end up doing massive amounts of VCS archaeology, which is why i'm so insistent on keeping an easy to understand history
aquijoule_ has joined #nmigen
richbridger has quit [Ping timeout: 260 seconds]
<_whitenotifier> [nmigen] anuejn synchronize pull request #547: vendor.lattice_machxo_2_3l: fix sdc generation - https://git.io/JkupM
<_whitenotifier> [nmigen] codecov[bot] edited a comment on pull request #547: vendor.lattice_machxo_2_3l: fix sdc generation - https://git.io/JkupN
<_whitenotifier> [nmigen] codecov[bot] edited a comment on pull request #547: vendor.lattice_machxo_2_3l: fix sdc generation - https://git.io/JkupN
<_whitenotifier> [nmigen] codecov[bot] edited a comment on pull request #547: vendor.lattice_machxo_2_3l: fix sdc generation - https://git.io/JkupN
<_whitenotifier> [nmigen] codecov[bot] edited a comment on pull request #547: vendor.lattice_machxo_2_3l: fix sdc generation - https://git.io/JkupN
<_whitenotifier> [nmigen] codecov[bot] edited a comment on pull request #547: vendor.lattice_machxo_2_3l: fix sdc generation - https://git.io/JkupN
<_whitenotifier> [nmigen] whitequark reviewed pull request #547 commit - https://git.io/JL7Hy
<korken89> whitequark: I'm quite amazed at the design and work that has gone into nMigen, and this makes me quite curious about its future! Is there some design document or similar about where nMigen is heading?
<whitequark> korken89: I'm afraid there isn't a single document at the moment; after the 0.3 release I'll make sure to write one
<korken89> No problem! :)
Bertl is now known as Bertl_oO
chipmuenk has joined #nmigen
chipmuenk has quit [Client Quit]
emeb_mac has joined #nmigen
SpaceCoaster has joined #nmigen
SpaceCoaster_ has quit [Ping timeout: 260 seconds]
<kmc> do you think this Alchitry Cu board will work with nmigen? https://www.sparkfun.com/products/16526
<kmc> i'm looking for an iCE40HX board with a lot of I/Os
<agg> Should work fine, at most you may need to tell nmigen the pinout by writing a Platform class for it
<agg> It's based on the ftdi ft2232 so probably normal iceprog will work to program it too
<kmc> cool! thanks
<agg> kmc: you can see examples of platforms here https://github.com/nmigen/nmigen-boards/tree/master/nmigen_boards including one for alchrity Au (which won't be compatible at all) and a bunch of ice40hx8k boards (which are probably the best starting point)
<kmc> yeah. I saw the one for lattice's eval board
<awygle> so pip search is just ... busted now
<whitequark> yep
<awygle> i <3 python
<awygle> the pip github issue where all the devs are like "wait do people actually use search" is darkly amusing too
<whitequark> i didn't even know it existed until someone near me complained
<awygle> i use it literally any time i install a package
<awygle> to confirm 'yowasp-yosys' is actually yowasp-yosys and not YO We Are Stealing People's identity
<awygle> or even just to figure out if it's yowasp-yosys, yosys-yowasp, python-yowasp-yosys, or whatever
<whitequark> hm
<whitequark> but... that doesn't work
<whitequark> suppose someone tomorrow publishes all of yowasp's packages with the order reversed
<whitequark> or, like, hijacks yowasp-nextpnr-nexus or something.
<whitequark> on the web interface you can confirm i've actually published those, but not via pip search
<awygle> then when i run pip search yowasp i'll see >1 result for yowasp-yosys and know something is up
<awygle> as opposed to if i just guess
<awygle> i didn't think of the web interface as an alternative i guess? the web interface feels more like a failure mode tbh, idk
<whitequark> your use case seems to be one of those marginal ones where it provides just enough benefit to make a viable claim that it's useful, but then it totally falls apart if you examine it
<whitequark> i can understand why they want to kill it
<whitequark> >We recently reduced the limit because the API was being abused and exhausting PyPI's backend resources.
<awygle> yeah i'm not objecting to the change on pypi's end
<awygle> just a little annoyed at how they went about it
<whitequark> right, ok
<awygle> i'll get over it
<whitequark> >I’m fine with dropping the command, my concern is what we’re gonna tell our downstream users as the reasons and communicating that well.
<whitequark> hrm.
<awygle> i did not realize you could build nextpnr with only a subset of e.g. the ice40 fpgas supported
<whitequark> awygle: (pip search) i don't think you're actually being fair to pip devs, given some of them are personally affected: https://github.com/pypa/pip/issues/5216#issuecomment-750451456
<whitequark> (subset of fpgas) well you couldn't, until i screwed with cmake and made it so
<whitequark> specifically for yowas
<awygle> yeah i am digging in more and i definitely had a knee-jerk reaction not justified by the facts
<whitequark> and it dynamically looks for available chipdbs as well
<awygle> what does that mean? you can install new chip families post-hoc? e.g. if i install ecp5-25k i can install ecp5-45k later without overwriting?
<whitequark> yes, if you have compiled nextpnr accordingly
<whitequark> (this is not the default config)
<awygle> interesting, thanks
<whitequark> (it's not the default config because you have to install nextpnr before use if you go for that)
jeanthom has quit [Ping timeout: 256 seconds]
korken89 has quit [Remote host closed the connection]
emeb has quit [Quit: Leaving.]