whitequark changed the topic of #nmigen to: nMigen hardware description language · code https://github.com/nmigen · logs https://libera.irclog.whitequark.org/nmigen
<_whitenotifier-1> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/J2rwR
<_whitenotifier-1> [YoWASP/yosys] whitequark 3a56a07 - Update dependencies.
Degi has quit [Ping timeout: 252 seconds]
Degi has joined #nmigen
Lord_Nightmare2 has joined #nmigen
balrog_ has joined #nmigen
vup2 has joined #nmigen
doinkmaster4209 has joined #nmigen
Degi_ has joined #nmigen
Degi has quit [*.net *.split]
tpw_rules has quit [*.net *.split]
TD-Linux has quit [*.net *.split]
d1b2 has quit [*.net *.split]
doinkmaster420 has quit [*.net *.split]
Lord_Nightmare has quit [*.net *.split]
balrog has quit [*.net *.split]
vup has quit [*.net *.split]
mwbrown has quit [*.net *.split]
doinkmaster4209 is now known as doinkmaster420
Degi_ is now known as Degi
tpw_rules has joined #nmigen
Lord_Nightmare2 is now known as Lord_Nightmare
TD-Linux has joined #nmigen
mindw0rk_ has joined #nmigen
mindw0rk has quit [Ping timeout: 252 seconds]
mindw0rk_ is now known as mindw0rk
vup2 has quit [Read error: Connection reset by peer]
vup has joined #nmigen
peeps[zen] has joined #nmigen
peepsalot has quit [Read error: Connection reset by peer]
tucanae47__ has joined #nmigen
miek__ has joined #nmigen
tucanae47_ has quit [Ping timeout: 252 seconds]
tucanae47__ is now known as tucanae47_
miek has quit [Ping timeout: 252 seconds]
Lord_Nightmare has quit [Ping timeout: 252 seconds]
Lord_Nightmare has joined #nmigen
pie_ has quit [Ping timeout: 252 seconds]
pie_ has joined #nmigen
doinkmaster4203 has joined #nmigen
yuriks_ has joined #nmigen
doinkmaster420 has quit [Quit: Ping timeout (120 seconds)]
doinkmaster4203 is now known as doinkmaster420
yuriks_ is now known as yuriks
emeb_mac has quit [Ping timeout: 252 seconds]
emeb_mac has joined #nmigen
emeb_mac has quit [Quit: Leaving.]
pftbest has joined #nmigen
pftbest has quit [Client Quit]
hell_ is now known as hell
<FL4SHK> lkcl: that explains it
<FL4SHK> That's what I must have been doing.
anuejn has quit [Remote host closed the connection]
vup has quit [Read error: Connection reset by peer]
anuejn has joined #nmigen
vup has joined #nmigen
miek__ is now known as miek
emeb_mac has joined #nmigen
Stary_ is now known as Stary
<_whitenotifier-1> [nmigen-boards] k-haze-nil opened pull request #184: Add support for Colorlight i5 r7.0 with extension board - https://git.io/JaT26
vup has quit [Ping timeout: 245 seconds]
anuejn has quit [Ping timeout: 252 seconds]
saki has quit [Ping timeout: 260 seconds]
<FL4SHK> Does ValueCastable construct a second object upon `as_value()` being called?
<whitequark> when you pass a `ValueCastable` to `Value.cast`, the latter calls `as_value()` and that's it
<FL4SHK> I see.
<FL4SHK> I'm observing strange behavior.
<FL4SHK> I'm getting a `_ValueCastable__lowered_to`
<whitequark> the contract of `ValueCastable` is that the user-provided `.as_value()` method body is called exactly once when you call `.as_value()` on that object
<FL4SHK> I see.
<whitequark> to enforce that, it uses private fields, `_ValueCastable__memoized` and `_ValueCastable__lowered_to` internally
<whitequark> you probably want to ignore those if you override `__setattr__` or something
<FL4SHK> I override `__getattr__`
<whitequark> mm
<whitequark> yes, not ideal
<whitequark> does this help? https://paste.debian.net/1214222/
<FL4SHK> I imagine it will help, yes.
<whitequark> this is semantically subtly different from `hasattr`, but i believe there are no cases where the difference actually matters
<FL4SHK> What am I supposed to do with it?
<whitequark> apply to nmigen source tree and check if it addresses your problem
<FL4SHK> Do I need the git version of nMigen?
<FL4SHK> I've got nMigen installed in my user's home
<whitequark> the released version doesn't have ValueCastable at all, i think
<FL4SHK> Then I wonder which version of nMigen I'm using....
<FL4SHK> I just installed from pip
<whitequark> installed how?
<FL4SHK> Ah, I do install the git version
<FL4SHK> pip install git+https://github.com/nmigen/nmigen.git
<whitequark> yes, thata gives you the git version
<FL4SHK> I have a script for updating nMigen that I run.
<FL4SHK> Do I simply use the "patch" command?
<FL4SHK> I'm not super familiar with it.
<whitequark> you could feed that to `git apply` but really i'm done with the patch so i can just push it
<whitequark> one sec
<_whitenotifier-1> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±2] https://git.io/JamR5
<_whitenotifier-1> [nmigen/nmigen] whitequark 11914a1 - hdl.ast: improve interaction of ValueCastable with custom __getattr__.
<_whitenotifier-1> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JamEL
<_whitenotifier-1> [nmigen/nmigen] whitequark f90cb51 - Deploying to gh-pages from @ 11914a1e674a7ac06fcd744293a1581112e3079e 🚀
sm2n has quit [Ping timeout: 246 seconds]
<FL4SHK> Hey, suddenly it works!
balrog_ is now known as balrog
<FL4SHK> whitequark: thanks!
<FL4SHK> I need to test more
<FL4SHK> And I need to support slicing into a member of a packed record or packed array, as they're implemented with vectors.
<FL4SHK> Neat!
<FL4SHK> The test succeeds!
<FL4SHK> I'd highlight vup with my success if they were online.
<FL4SHK> whitequark: is it acceptable if I use the name "nmigen" in the name of a library?
<FL4SHK> actually, I have a different name for it
sm2n has joined #nmigen
<FL4SHK> How do I set up a repo that can be installed with `pip`?
anuejn has joined #nmigen
vup has joined #nmigen
<FL4SHK> vup: I got packed records and packed arrays working!
<FL4SHK> Now I'm learning how to create a Python package.
<vup> FL4SHK: nice, congrats
<vup> (I think python packages depending on nmigen are a bit tricky atm, because you can't depend on a git version on pypi)
<FL4SHK> Hm.
<FL4SHK> I suppose I'll forego the Python package for now.
<vup> Well having a setup.py will probably be handy anyways, so you can do atleast that if you want
<vup> FL4SHK: reading the backlog, to have a repo you can install with pip you can simply put a setup.py toplevel into the repo and then you can use `pip install git+https://$REPO.git` to install it
<FL4SHK> I see.
<FL4SHK> I'll save it for later.
<FL4SHK> Does nMigen use active low reset?
<FL4SHK> I thought it was active high for some reason.
peeps[zen] is now known as peepsalot
<vup> its active high
<FL4SHK> Then I don't know why I was seeing the specific Verilog output I was seeing.
<FL4SHK> Oh, it's resetting upon reset being active.
<FL4SHK> derp.
saki has joined #nmigen
lf has quit [Ping timeout: 252 seconds]
lf has joined #nmigen