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 1st & 3rd Monday at 1800 UTC · next meeting July 20th
<_whitenotifier-b> [nmigen-soc] jfng reviewed pull request #21 commit - https://git.io/JJtdR
<kbeckmann> I'm getting hit by "YosysWarning: Design contains feedback wires, which require delta cycles during evaluation." when doing cxxrtl.convert() with my design - is there a convenient way to find out what the feedback is exactly?
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to update-deps/0 [+0/-0/±1] https://git.io/JJtFm
<_whitenotifier-b> [YoWASP/yosys] whitequark c82f995 - Update dependencies
<_whitenotifier-b> [yosys] whitequark created branch update-deps/0 - https://git.io/JJtFY
<_whitenotifier-b> [yosys] whitequark opened pull request #2: Auto-update dependencies - https://git.io/JJtFO
<kbeckmann> I found the offending code but now I wonder if what I am doing is a bad thing, or a false warning. It's a comb assignment where the bits depend on eachother. https://github.com/kbeckmann/pergola_projects/blob/master/pergola/gateware/tmds.py#L73-L99
<whitequark> kbeckmann: the warning is correct in that you will require additional (more than 1) delta cycles
<whitequark> in this case I think it will be 3 delta cycles per eval rather than 1
<kbeckmann> alright
<whitequark> assuming you can take the speed hit, that shouldn't cause any issues
<kbeckmann> great, thanks for the explanation.
<kbeckmann> is it a bad style to write the code like it is done? would it be better to explicitly set each bit to the fully evaluated depencendy chain?
<whitequark> it is not an inherently bad style
<kbeckmann> okay. asking because i honestly don't know what is good or bad :).
<whitequark> the problem here is that cxxrtl works with word-wide registers
<whitequark> this is important e.g. for introspectability
<whitequark> this means that the entire register is represented as one value
<whitequark> and that all operations on the register are performed on the entire thing as once
<kbeckmann> right, that makes sense.
<whitequark> as a consequence if a register depends on itself it'd have to be evaluated multiple times until it converges
<whitequark> actually now that i look closer, that would be a lot more than 3 delta cycles
<whitequark> anyway, so there is a pass `splitnets -driver` that would split the register such that there's no apparent feedback
<whitequark> you can't currently ask back.cxxrtl to use it
<_whitenotifier-b> [nmigen-soc] jfng reviewed pull request #21 commit - https://git.io/JJtbG
<kbeckmann> oh interesting. would it be in nmigen/back/cxxrtl.py in the yosys script where i'd add this?
<kbeckmann> (tried to hack it in there but i didn't get any measurable performance gains, but thanks for letting me know that it exists!)
<whitequark> do you still get any warnings?
<kbeckmann> I don't really have a clue what I'm doing right now.. but anyway, if i put it before the read_ilang, i get the same warning as before. if i put it immediately after, i get the following warning for all modules "Ignoring module dvid2vga because it contains processes (run 'proc' command first). "
<kbeckmann> if i add the proc command, i get an assert. Assert `!it.first.has_const()' failed in kernel/rtlil.cc:1507.
<whitequark> right ok so if you get any warnings it's not actually working
<kbeckmann> i see
<whitequark> do you need the performance improvement or do things work fine for now?
<kbeckmann> not really, but it's always nice with performance.
Degi has quit [Ping timeout: 256 seconds]
<kbeckmann> currently implementing a tmds/dvid to vga decoder and it takes a few seconds to crunch a frame which is completely fine.
<whitequark> then i'd say not bother with it for now
<whitequark> eventually i'll make sure the parts will fit together, but that will take some time
Degi has joined #nmigen
<kbeckmann> alright. i'm really happy that we have cxxrtl now, it's so fast compared to the python simulation. it enables a lot of nice use cases.
<whitequark> \o/
jaseg has quit [Ping timeout: 244 seconds]
jaseg has joined #nmigen
jaseg has quit [Ping timeout: 246 seconds]
jaseg has joined #nmigen
PyroPeter_ has joined #nmigen
PyroPeter has quit [Ping timeout: 240 seconds]
PyroPeter_ is now known as PyroPeter
electronic_eel has quit [Ping timeout: 258 seconds]
electronic_eel has joined #nmigen
<whitequark> so here's something funny
<whitequark> i keep rewriting pysim to be more modular so that cxxsim can coexist with it (as you might want to cosimulate python and c++ code)
<whitequark> i'm on my third attempt and each one has been a failure
<whitequark> seems like gradually improving cxxsim so that there needn't have to be one huge commit changing the entire thing is the way to go here
<d1b2> <Darius> "what if we do all this work and we only get a better code base out of it??"
<whitequark> huh?
<whitequark> no, it's more that pysim is so bad that in its current state it's impossible to add cxxsim such that they coexist
<whitequark> fun fact: the predecessor to pysim was even worse
<whitequark> at least pysim produces correct results!
<whitequark> better simulation through horrors
<d1b2> <Darius> ahh OK
<d1b2> <Darius> correct results is definitely good for a simulator...
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+1/-0/±0] https://git.io/JJqfx
<_whitenotifier-b> [YoWASP/yosys] whitequark f6ba08e - [skip ci] Add an auto-updater.
<whitequark> hm, i don't like this PR creation scrpit
<_whitenotifier-b> [yosys] whitequark closed pull request #2: Auto-update dependencies - https://git.io/JJtFO
<_whitenotifier-b> [YoWASP/yosys] whitequark deleted branch update-deps/0
<_whitenotifier-b> [yosys] whitequark deleted branch update-deps/0 - https://git.io/JJtFY
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-0/±0] https://git.io/JJqJC
<_whitenotifier-b> [YoWASP/yosys] whitequark ee8db02 - [skip ci] Add an auto-updater.
<whitequark> something like this maybe
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-0/±0] https://git.io/JJqJ2
<_whitenotifier-b> [YoWASP/yosys] whitequark fd67fc4 - [skip ci] Add an auto-updater.
<_whitenotifier-b> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JJqJr
<_whitenotifier-b> [nmigen/nmigen] whitequark e435a21 - back.pysim: simplify. NFC.
<_whitenotifier-b> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JJqJ6
<_whitenotifier-b> [nmigen/nmigen] whitequark 7fd48fa - Deploying to gh-pages from @ e435a21715bc16a14eed156738154ddb8df12b84 🚀
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to update-deps [+0/-0/±1] https://git.io/JJqU4
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] 5baa190 - Update dependencies
<_whitenotifier-b> [yosys] whitequark opened pull request #3: Auto-update dependencies - https://git.io/JJqUB
<_whitenotifier-b> [yosys] whitequark created branch update-deps - https://git.io/JJtFY
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-0/±0] https://git.io/JJqUa
<_whitenotifier-b> [YoWASP/yosys] whitequark 60e243b - [skip ci] Add an auto-updater.
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-0/±0] https://git.io/JJqUM
<_whitenotifier-b> [YoWASP/yosys] whitequark cdc1b62 - [skip ci] Add an auto-updater.
<_whitenotifier-b> [yosys] whitequark closed pull request #3: Auto-update dependencies - https://git.io/JJqUB
<_whitenotifier-b> [YoWASP/yosys] whitequark deleted branch update-deps
<_whitenotifier-b> [yosys] whitequark deleted branch update-deps - https://git.io/JJtFY
<_whitenotifier-b> [nmigen/nmigen] whitequark pushed 3 commits to master [+2/-0/±3] https://git.io/JJqTn
<_whitenotifier-b> [nmigen/nmigen] whitequark d3d210e - back.pysim: extract simulator commands to sim._cmds. NFC.
<_whitenotifier-b> [nmigen/nmigen] whitequark 94faf49 - back.pysim: extract timeline handling to class _Timeline. NFC.
<_whitenotifier-b> [nmigen/nmigen] whitequark 90e2a99 - back.pysim: simplify. NFC.
<_whitenotifier-b> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JJqTu
<_whitenotifier-b> [nmigen/nmigen] whitequark b1a1c56 - Deploying to gh-pages from @ 90e2a991f0660a215995e94ec4083b7b0f080753 🚀
hitomi2504 has joined #nmigen
chipmuenk has joined #nmigen
jjeanthom has quit [Ping timeout: 256 seconds]
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to update-deps [+0/-0/±1] https://git.io/JJqkS
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] 1c58790 - Update upstream code
<_whitenotifier-b> [yosys] whitequark opened pull request #4: Auto-update - https://git.io/JJqk9
<_whitenotifier-b> [yosys] whitequark created branch update-deps - https://git.io/JJtFY
<_whitenotifier-b> [yosys] whitequark closed pull request #4: Auto-update - https://git.io/JJqk9
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JJqkH
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] efd3c19 - Update upstream code
<_whitenotifier-b> [yosys] whitequark deleted branch update-deps - https://git.io/JJtFY
<_whitenotifier-b> [YoWASP/yosys] whitequark deleted branch update-deps
<whitequark> that worked!!!
<whitequark> hm, it ignored the status checks
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-0/±0] https://git.io/JJqIr
<_whitenotifier-b> [YoWASP/yosys] whitequark 4fb6eb4 - [skip ci] Add an auto-updater.
<_whitenotifier-b> [nmigen] whitequark commented on pull request #368: Deprecate `Record.connect` - https://git.io/JJqLM
<_whitenotifier-b> [nmigen] whitequark closed pull request #368: Deprecate `Record.connect` - https://git.io/JfLSP
<_whitenotifier-b> [nmigen] whitequark edited a comment on pull request #368: Deprecate `Record.connect` - https://git.io/JJqLM
<_whitenotifier-b> [nmigen] whitequark commented on issue #412: LICENSE.txt and copyright - https://git.io/JJqLb
<_whitenotifier-b> [nmigen] whitequark closed issue #412: LICENSE.txt and copyright - https://git.io/JfpDt
proteus-guy has quit [Ping timeout: 258 seconds]
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to update-deps [+0/-0/±1] https://git.io/JJqt5
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] 30c8848 - Update upstream code
<_whitenotifier-b> [yosys] whitequark opened pull request #5: Auto-update - https://git.io/JJqtd
<_whitenotifier-b> [yosys] whitequark created branch update-deps - https://git.io/JJtFY
<d1b2> <286Tech> Question: Should things like PLL, DDR I/O, etc for the different brands be integrated in nmigen (just like Litex)? And if so, should it be in nmigen or for example in nmigen-stdio?
<whitequark> by "DDR" what do you mean exactly?
<d1b2> <edbordin> it sounds like maybe we're talking about fpga primitives?
<d1b2> <286Tech> Yup
<d1b2> <286Tech> Often used primitives
<whitequark> aha, so DDR I/O is already supported in nmigen
<whitequark> as well as xDR for x>2
<whitequark> on some platforms
<d1b2> <286Tech> Ah ok
<whitequark> PLL is planned but no actual work has been done towards that end
<whitequark> you can start it! open an issue and begin summarizing PLL capabilities for all supported families
<whitequark> so that we know what sort of abstraction would cover them well
<d1b2> <286Tech> That's what I wanted to do 🙂
<whitequark> great!
<d1b2> <286Tech> Would it be a problem if I looked at Litex does it? (in terms of licensing issues maybe)
<d1b2> <286Tech> Since my Pythonese isn't the best 😛
<d1b2> <286Tech> *how Litex does it
<whitequark> nope, LiteX uses a compatible license
<whitequark> besides, copyright is based on textual inclusion, and it's unlikely that any code will be shareable directly
<d1b2> <286Tech> Cool, then I'll start looking into all the PLLs from different brands and summarize them in an issue. Then I'll see if I can cook up some implementations.
<whitequark> sure
<whitequark> just to make it clear, my bandwidth is fairly limited and will remain so for the next several months, so your implementation might not be merged quickly
<whitequark> it would be a good idea to recruit people to test it in that time
<d1b2> <286Tech> Oh that's no problem 🙂 I would also like things to be worked out properly beforehand, instead of trying to clean up a mess afterwards 😉
<d1b2> <286Tech> Been burned by that before
<whitequark> ok, great!
<_whitenotifier-b> [nmigen/nmigen] whitequark pushed 2 commits to master [+0/-0/±2] https://git.io/JJqmK
<_whitenotifier-b> [nmigen/nmigen] whitequark 3c3cfd4 - back.pysim: reset timeline as well.
<_whitenotifier-b> [nmigen/nmigen] whitequark 6d41756 - back.pysim: only extract signal names if VCD is requested.
<_whitenotifier-b> [nmigen-soc] Fatsie reviewed pull request #21 commit - https://git.io/JJqmD
<_whitenotifier-b> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JJqmy
<_whitenotifier-b> [nmigen/nmigen] whitequark 253e5f4 - Deploying to gh-pages from @ 6d417568ad68565fc7e01e7611ce8cf0b8fdb603 🚀
<_whitenotifier-b> [nmigen-soc] Fatsie reviewed pull request #21 commit - https://git.io/JJqmD
<_whitenotifier-b> [nmigen-soc] Fatsie reviewed pull request #21 commit - https://git.io/JJqmD
<whitequark> whee, not only I fixed an unidentified regression in the simulator, but now it's actually 10% faster (for no-vcd case) at startup
<d1b2> <286Tech> \o/
jeanthom has joined #nmigen
<_whitenotifier-b> [nmigen-soc] Fatsie reviewed pull request #21 commit - https://git.io/JJqY4
<_whitenotifier-b> [nmigen-soc] Fatsie reviewed pull request #21 commit - https://git.io/JJqYz
<jeanthom> Hi whitequark, ping me when you would like to discuss the PinsN issue
<whitequark> jeanthom: ping
<whitequark> is my understanding correct that you are using platform.request with xdr=0 (the default) and dir=None (again the default)?
<jeanthom> yup
<whitequark> and you want to use DDR primitives with that
<jeanthom> yup
<whitequark> so the reason xdr=2 exists is actually the problem you highlighted
<whitequark> this inverter must be inserted before the signal enters the ODDRX1F block
<whitequark> can you use xdr=2?
<jeanthom> not with xdr=2 but xdr=4 in my case but yeah using xdr could do the job
<whitequark> there is xdr=4 on ecp5 now
<whitequark> would that work for you?
<jeanthom> That would technically work for me, but that would require the users to do the xdr bit themselves
<jeanthom> We are not going to set those pins as xdr=4 in the platform file, right?
<whitequark> it cannot be done, yes
<whitequark> in principle, nothing prevents you from passing the resource *name* to the controller block
<whitequark> I don't think we've done this anywhere yet
<whitequark> let's start with asking the user to set the pins as xdr=4 and then figure out how to best do it
<whitequark> does that work?
<whitequark> or is it a requirement for you to avoid that?
<jeanthom> no it's not a requirement at all
Asu has joined #nmigen
<whitequark> okay, then let's go with that
<jeanthom> Yep. I'm starting to think that being able to reconfigure IOs after they have been requested would be really cool.
<whitequark> i think that wouldn't fit at all in our current architecture
<whitequark> but that's fine
<whitequark> we can just change the architecture
<_whitenotifier-b> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±2] https://git.io/JJq34
<_whitenotifier-b> [nmigen/nmigen] whitequark 23da2fd - vendor.xilinx_{7series,ultrascale}: remove `grade` property.
<_whitenotifier-b> [nmigen/nmigen-boards] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JJq3B
<_whitenotifier-b> [nmigen/nmigen-boards] whitequark e8a5f99 - kcu105: merge temperature grade into speed grade.
<_whitenotifier-b> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JJq3R
<_whitenotifier-b> [nmigen/nmigen] whitequark 8b05cab - Deploying to gh-pages from @ 23da2fdda6963843c0b17c5857a889a16db7120f 🚀
<whitequark> vup: i found out a way to fix Simulator.add_clock
<whitequark> remove it, then add add_clock_process
<whitequark> which is how it should have been called anyway
Asuu has joined #nmigen
<awygle> why can't you put xdr=4 in the platform?
<whitequark> awygle: because it's not an electrical property of the pin
<whitequark> (pin/board combination)
<awygle> true
<_whitenotifier-b> [nmigen-soc] Fatsie opened pull request #22: Use 0 as default for lock on subordinate bus - https://git.io/JJqsr
<_whitenotifier-b> [nmigen-soc] Fatsie reviewed pull request #21 commit - https://git.io/JJqsi
<_whitenotifier-b> [nmigen-soc] codecov[bot] commented on pull request #22: Use 0 as default for lock on subordinate bus - https://git.io/JJqsP
<_whitenotifier-b> [nmigen-soc] codecov[bot] edited a comment on pull request #22: Use 0 as default for lock on subordinate bus - https://git.io/JJqsP
Asu has quit [Ping timeout: 258 seconds]
Asuu has quit [Read error: Connection reset by peer]
Asu has joined #nmigen
_whitelogger has joined #nmigen
<_whitenotifier-b> [yosys] whitequark edited pull request #5: Auto-update - https://git.io/JJqtd
<_whitenotifier-b> [yosys] github-actions[bot] closed pull request #5: Auto-update - https://git.io/JJqtd
<_whitenotifier-b> [yosys] github-actions[bot] deleted branch update-deps - https://git.io/JJtFY
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] deleted branch update-deps
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] pushed 1 commit to develop [+0/-0/±1] https://git.io/JJqnj
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] 3ad89af - Update upstream code
<_whitenotifier-b> [nmigen-soc] jfng closed pull request #22: Use 0 as default for lock on subordinate bus - https://git.io/JJqsr
<_whitenotifier-b> [nmigen/nmigen-soc] jfng pushed 1 commit to master [+0/-0/±2] https://git.io/JJqWl
<_whitenotifier-b> [nmigen/nmigen-soc] Fatsie 20d0dd7 - Use 0 as default for lock on subordinate bus
<_whitenotifier-b> [nmigen-soc] jfng commented on pull request #22: Use 0 as default for lock on subordinate bus - https://git.io/JJqW8
<jeanthom> Is there a reason for why we don't use -retime by default on ECP5?
<whitequark> yes, same as on all other architectures
<whitequark> retiming can break designs if they are not sufficiently CDC annotated
<whitequark> and since yosys does not understand CDC annotations, retiming is never used
<whitequark> (you could opt into it if you know you only have a single clock domain)
<Lofty> jeanthom: it's far better to use ABC9 on ECP5 which doesn't currently have retiming support anyway
<whitequark> also that
<Lofty> ABC's retiming support is... really quite shitty
<Lofty> (it's unit delay retiming which... isn't how things work in the real world)
<Lofty> ABC9 could do *better* retiming due to its generalised delay model, but it doesn't have that to my knowledge
<jeanthom> Ok, thanks for the info
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-0/±0] https://git.io/JJqlJ
<_whitenotifier-b> [YoWASP/yosys] whitequark ad696bc - [skip ci] Add an auto-updater.
<Lofty> I think daveshah wants to put retiming into nextpnr
<Lofty> And honestly, that's where it belongs
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-0/±0] https://git.io/JJqlG
<_whitenotifier-b> [YoWASP/yosys] whitequark e9d815b - [skip ci] Add an auto-updater.
<_whitenotifier-b> [yosys] whitequark created branch update-deps - https://git.io/JJtFY
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to update-deps [+0/-0/±1] https://git.io/JJq8x
<_whitenotifier-b> [YoWASP/yosys] github-actions[bot] 2580368 - Update upstream code
<_whitenotifier-b> [yosys] whitequark opened pull request #6: Auto-update - https://git.io/JJq8p
* zignig finally gets the bootloader working, cycle time on dev goes from 55s down to 3s
<zignig> working boneless SOC with hex program upload.
Asu has quit [Read error: Connection reset by peer]
Asu has joined #nmigen
<lkcl> whitequark: thank you for replying about Record. with the care and thought you're putting into it, we're good.
<_whitenotifier-b> [nmigen/nmigen] whitequark pushed 1 commit to master [+4/-0/±1] https://git.io/JJqRk
<_whitenotifier-b> [nmigen/nmigen] whitequark d7a87fe - back.pysim→sim.pysim; split into more manageable parts.
<_whitenotifier-b> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JJqRt
<_whitenotifier-b> [nmigen/nmigen] whitequark 6176fcc - Deploying to gh-pages from @ d7a87fef42b32fe6813480fb144e1e2ae7ffdf1c 🚀
<vup> whitequark: sounds reasonable
<whitequark> ok well the auto-merge functionality clearly doesn't work
<whitequark> guess i can hit a button once per week manually or something
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+2/-1/±0] https://git.io/JJqRN
<_whitenotifier-b> [YoWASP/yosys] whitequark abb8d5a - [skip ci] Add an auto-updater.
<_whitenotifier-b> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+2/-1/±0] https://git.io/JJq0R
<_whitenotifier-b> [YoWASP/nextpnr] whitequark 1c16237 - [skip ci] Add an auto-updater.
daveshah has joined #nmigen
<_whitenotifier-b> [nmigen-soc] jfng synchronize pull request #19: periph: add a PeripheralInfo class for metadata. - https://git.io/JJvQM
<_whitenotifier-b> [nmigen-soc] codecov[bot] edited a comment on pull request #19: periph: add a PeripheralInfo class for metadata. - https://git.io/JJvQy
<_whitenotifier-b> [nmigen] GuzTech opened issue #425: Support for PLL primitives - https://git.io/JJquS
<_whitenotifier-b> [nmigen-soc] codecov[bot] edited a comment on pull request #19: periph: add a PeripheralInfo class for metadata. - https://git.io/JJvQy
<_whitenotifier-b> [nmigen-soc] jfng commented on pull request #19: periph: add a PeripheralInfo class for metadata. - https://git.io/JJquQ
<d1b2> <286Tech> I've been busy gathering information on all types of PLLs but this is what I could come up with for now 🙂
daveshah has quit [Remote host closed the connection]
daveshah has joined #nmigen
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #nmigen
<_whitenotifier-b> [nmigen] jeanthom commented on issue #425: Support for PLL primitives - https://git.io/JJqgh
cr1901_modern has quit [Ping timeout: 272 seconds]
<FL4SHK> now building a Python-based assembler of sorts
<FL4SHK> thinking of following in nMigen's footsteps
samlittlewood has joined #nmigen
<whitequark> nMigen's footsteps where?
<whitequark> oh yeah boneless' footsteps
<whitequark> feel free to steal that code, i made the decision to write it in a generic-ish way but not actually make it a library
<FL4SHK> partially
<FL4SHK> well, I'm also thinking about supporting, basically, destructors
<FL4SHK> via the `with` thing
<whitequark> huh
<FL4SHK> destructors would be nice to have in assembly!
<FL4SHK> also, Python functions would be able to act as macros
<whitequark> sure, sounds interesting
<jeanthom> FL4SHK, what architecture are you working with?
<FL4SHK> jeanthom: started making a new one!
<FL4SHK> wasn't going to pipeline it this time
<jeanthom> nice! what are your goals?
<FL4SHK> I pretty much always make a new instruction set because I enjoy the process
<FL4SHK> I don't know, I just thought it'd be nice to have a small processor to use
<FL4SHK> I could *probably* pipeline it
<FL4SHK> it has 32 instructions
<FL4SHK> pretty MIPS ish
<FL4SHK> has this one instruction that allows a following instruction to be the full-size 32-bits
<FL4SHK> I plan on the assembler inserting those
<FL4SHK> I have four instructions left in the encoding space
<FL4SHK> I might as well pipeline it...
<awygle> mornin y'all
<whitequark> hi awygle!
<jeanthom> hi!
<awygle> I woke up before 8am for the first time in weeks! Maybe I'll be productive today.
cr1901_modern has joined #nmigen
<_whitenotifier-b> [yosys] whitequark closed pull request #6: Auto-update - https://git.io/JJq8p
<_whitenotifier-b> [yosys] whitequark closed issue #1: Crash on Windows with STATUS_BAD_STACK - https://git.io/JJJit
<_whitenotifier-b> [yosys] whitequark commented on issue #1: Crash on Windows with STATUS_BAD_STACK - https://git.io/JJqrK
chipmuenk1 has joined #nmigen
chipmuenk has quit [Ping timeout: 244 seconds]
chipmuenk1 is now known as chipmuenk
<_whitenotifier-b> [yosys] whitequark commented on issue #1: Crash on Windows with STATUS_BAD_STACK - https://git.io/JJqr6
<_whitenotifier-b> [yosys] whitequark deleted branch update-deps - https://git.io/JJtFY
<_whitenotifier-b> [YoWASP/yosys] whitequark deleted branch update-deps
<_whitenotifier-b> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JJqry
<_whitenotifier-b> [YoWASP/yosys] whitequark a7f0a2f - Require wasmtime~=0.18.2.
<_whitenotifier-b> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+0/-0/±2] https://git.io/JJqr9
<_whitenotifier-b> [YoWASP/nextpnr] whitequark 178fa13 - Require wasmtime~=0.18.2.
<whitequark> FL4SHK: you should be able to use yowasp now
chipmuenk1 has joined #nmigen
chipmuenk1 is now known as chipmuenk
chipmuenk has quit [Ping timeout: 244 seconds]
jeanthom has quit [Ping timeout: 256 seconds]
hitomi2504 has quit [Quit: Nettalk6 - www.ntalk.de]
<_whitenotifier-b> [nmigen] GuzTech commented on issue #425: Support for PLL primitives - https://git.io/JJqKK
_whitelogger has joined #nmigen
BeerSerc has joined #nmigen
<FL4SHK> whitequark: what is yowasp?
<miek> FL4SHK: https://yowasp.org/
<FL4SHK> is there a particular reason I need to use stuff built for webassembly?
<miek> hm, that might've been meant for Falteckz who was having trouble with it the other day
<whitequark> er, yeah, sorry
<whitequark> similar nicks :/
<_whitenotifier-b> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±3] https://git.io/JJqXl
<_whitenotifier-b> [nmigen/nmigen] whitequark 30e2f91 - sim: simplify. NFC.
<_whitenotifier-b> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JJqX8
<_whitenotifier-b> [nmigen/nmigen] whitequark ae76f89 - Deploying to gh-pages from @ 30e2f91176edcd1c8766c2cb11f413b9c77936b9 🚀
daveshah has quit [Remote host closed the connection]
daveshah has joined #nmigen
ktemkin has joined #nmigen
Cynthia_ has joined #nmigen
key2 has joined #nmigen
daveshah_ has joined #nmigen
daveshah has quit [Remote host closed the connection]
daveshah_ is now known as daveshah
gravejac has joined #nmigen
Qyriad has joined #nmigen
mithro has joined #nmigen
Asuu has joined #nmigen
Asu has quit [Ping timeout: 258 seconds]
_florent_ has joined #nmigen
Cynthia_ is now known as Cynthia
esden has joined #nmigen
pdp7 has joined #nmigen
bubble_buster has joined #nmigen
ianloic has joined #nmigen
sorear has joined #nmigen
Asuu has quit [Read error: Connection reset by peer]
guan has joined #nmigen
rohitksingh has joined #nmigen
chipmuenk has quit [Quit: chipmuenk]
proteus-guy has joined #nmigen
withig is now known as nengel
<d1b2> <Falteckz> Sorry. I've been offline because I use IRCCloud which was down for about 18 hours. Just going to use Discord for now until I stand up my own IRC bouncer
<d1b2> <Falteckz> whitequark: The upstream fix is already landed? That's exciting. Will update this morning.
Asu has joined #nmigen
proteus-guy has quit [Ping timeout: 272 seconds]
Asu has quit [Read error: Connection reset by peer]
Asuu has joined #nmigen
Asuu has quit [Read error: Connection reset by peer]
Asuu has joined #nmigen
Asuu has quit [Client Quit]
<_whitenotifier-b> [nmigen] GuzTech opened pull request #426: [WIP] Initial implementation of ECP5 PLL instantiation - https://git.io/JJqHg
<_whitenotifier-b> [nmigen] GuzTech commented on issue #425: Support for PLL primitives - https://git.io/JJqHa
<_whitenotifier-b> [nmigen] codecov[bot] commented on pull request #426: [WIP] Initial implementation of ECP5 PLL instantiation - https://git.io/JJqHV
<_whitenotifier-b> [nmigen] codecov[bot] edited a comment on pull request #426: [WIP] Initial implementation of ECP5 PLL instantiation - https://git.io/JJqHV
<_whitenotifier-b> [nmigen] GuzTech commented on pull request #426: [WIP] Initial implementation of ECP5 PLL instantiation - https://git.io/JJqHS
<awygle> sweet, PLLs
levi has joined #nmigen