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 September 14th
<d0nker5> thanks! that did the trick.
jaseg has quit [Ping timeout: 272 seconds]
jaseg has joined #nmigen
PyroPeter_ has joined #nmigen
PyroPeter has quit [Ping timeout: 258 seconds]
PyroPeter_ is now known as PyroPeter
_florent_ has quit [Read error: Connection reset by peer]
_florent_ has joined #nmigen
Degi has quit [Ping timeout: 256 seconds]
Degi has joined #nmigen
d0nker5_ has joined #nmigen
d0nker5 has quit [Ping timeout: 256 seconds]
chipmuenk has joined #nmigen
noknok has joined #nmigen
hitomi2507 has joined #nmigen
proteusguy has quit [Ping timeout: 240 seconds]
noknok has quit [Ping timeout: 260 seconds]
proteusguy has joined #nmigen
noknok has joined #nmigen
noknok has quit [Ping timeout: 258 seconds]
Asu has joined #nmigen
noknok has joined #nmigen
kernelmethod has joined #nmigen
kernelmethod has quit [Client Quit]
_whitelogger has joined #nmigen
noknok has quit [Ping timeout: 264 seconds]
noknok has joined #nmigen
<_whitenotifier-f> [nmigen] cestrauss commented on issue #439: fsm_state changes mid cycle - https://github.com/nmigen/nmigen/issues/439#issuecomment-688751033
noknok has quit [Ping timeout: 240 seconds]
<d1b2> <marble> How do I add a clock to the ports in a simulation?
<d1b2> <marble> How do I add a clock to the ports in a simulation?
<DaKnig> you usually dont access the clock as a signal and instead let nmigen do its magic, with clock domains and all that , for you
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #nmigen
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #nmigen
<d1b2> <marble> I just want the trace to automatically show when using gtkwave
jeanthom has joined #nmigen
emeb has joined #nmigen
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #nmigen
BracketMaster has joined #nmigen
<BracketMaster> You might try doing ports=[ClockSignal("domain")]
<BracketMaster> Not necessarily sure if it'll work, haven't tried it
<whitequark> it won't, though it probably should
<whitequark> (as in, this would be a reasonable improvement request)
BracketMaster has quit [Ping timeout: 240 seconds]
hitomi2507 has quit [Quit: Nettalk6 - www.ntalk.de]
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #nmigen
jeanthom has quit [Ping timeout: 260 seconds]
<Lofty> So, something mentioned to me was that VHDL lets you define a `std_ulogic_vector(15 downto 12)` and index it with values 12-15 instead of 0-3
<Lofty> If you try something similar in nMigen, with `Signal(range(12,16))`, it can't be indexed as 12-15, but with 0-3
<Lofty> Not sure if this counts as a usability issue, but it might trip people coming from VHDL
<Lofty> whitequark: ^, if you're around
<Lofty> Use case given is having a 16-bit address line, but only using the top 4 bits in a module
<Lofty> Having it addressable from the minimum value of the range makes naming consistent
<Lofty> As a side note, I realised the nMigen example is wrong because range is not in bits
<Lofty> And `range(2**12, 2**16)` is basically the same as `unsigned(16)` anyway
<Lofty> given how range() works I don't actually see too much point in this
<Lofty> Unless we have a bitrange() shape too :P
<awygle> is bitrange() a thing in python?
<Lofty> No, but neither is signed()/unsigned()
<awygle> point
<DaKnig> Lofty: Signal(range(12,16)) gives you a signal that can hold all the values in range 12-16. in VHDL vector_type(15 downto 12) means it has bits 15:12 inclusive (of some value probably). its not the same.
<DaKnig> oops you said that later. sorry.
BracketMaster has joined #nmigen
<lkcl> Lofty: a simple way to deal with that is create a subset signal "subset_of_addr_top_bits = Signal(4)"
<lkcl> then m.d.comb += subset_of_addr_top_bits.eq(addr[-4:])
<DaKnig> lkcl: in VHDL you would be able to address them as 12:15 though
<DaKnig> not 0:3
<DaKnig> completely different
<lkcl> python's nice: negative ranges start from the (MSB+1). something like that
<DaKnig> from "one past the end" like all langs should :)
<lkcl> so range(16)[-4:] is equivalent to VHDL 12:15
<lkcl> sigh :)
<DaKnig> it's not
<DaKnig> you can write `signal(12)`
<lkcl> >>> list(range(16))
<lkcl> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
<DaKnig> not in your case
<lkcl> >>> list(range(16))[-4:]
<lkcl> [12, 13, 14, 15]
<DaKnig> well but you cant write `12` directly
Chips4Makers has quit [Remote host closed the connection]
jeanthom has joined #nmigen
Chips4Makers has joined #nmigen
cr1901_modern1 has joined #nmigen
jeanthom has quit [Ping timeout: 264 seconds]
cr1901_modern has quit [Ping timeout: 264 seconds]
chipmuenk has quit [Quit: chipmuenk]
chipmuenk has joined #nmigen
jeanthom has joined #nmigen
jeanthom has quit [Ping timeout: 264 seconds]
lkcl_ has joined #nmigen
jeanthom has joined #nmigen
electronic_eel_ has joined #nmigen
electronic_eel has quit [Ping timeout: 264 seconds]
lkcl has quit [Ping timeout: 264 seconds]
chipmuenk has quit [Quit: chipmuenk]
<BracketMaster> miek, any update on camlink 4k?
<miek> BracketMaster: nope? i don't have any active plans for hacking on it
<BracketMaster> :(
<BracketMaster> A bunch of amazing interfaces crammed into one board
<miek> it's.. a good hdmi capture device, i just use it for that :p
<BracketMaster> USB <> mouse/keyboard, HDMI <> Monitor, DRAM...
<BracketMaster> Could be a computer on a stick
<miek> you have to mod it pretty heavily to do hdmi output
<BracketMaster> ur right. Well, it does look pretty cool at least
Asu has quit [Ping timeout: 264 seconds]
jeanthom has quit [Ping timeout: 256 seconds]
BracketMaster has quit [Ping timeout: 258 seconds]
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined #nmigen
emeb has quit [Quit: Leaving.]