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
Degi has quit [Ping timeout: 264 seconds]
Degi has joined #nmigen
<awygle> if you have multiple m.d.comb += signal.eq(...) that apply, the one that's lowest down textually should take precedence, right?
_whitelogger has joined #nmigen
<awygle> i'm so confused...
<awygle> https://gist.github.com/awygle/25107db09de707cbea99245ae035a308 can somebody look at this and explain to me why the comb assign on line 100 doesn't show up in the VCD output but the comb assign on line 101 does?
<awygle> (assume the indentation is correct in the source file, it is, i just messed it up transferring to the gist)
<zignig> awygle: are you using your current stream branch, I'm getting some layout errors.
<zignig> that said , looks like it should work
<awygle> No, I made a couple changes
____ has joined #nmigen
_whitelogger has joined #nmigen
chipmuenk has joined #nmigen
pinknok has joined #nmigen
<whitequark> tpw_rules: yeah i agree, the current cpu implementation is not nearly as good as what i wanted it to be
<whitequark> i ended up digressing a lot of times, for example my somewhat abortive attempt to add proc_match to yosys
<_whitenotifier-3> [nmigen] whitequark commented on issue #356: Export Past, Rose, Fell, etc from nmigen.hdl.ast - https://git.io/JffIq
<_whitenotifier-3> [nmigen] whitequark closed issue #356: Export Past, Rose, Fell, etc from nmigen.hdl.ast - https://git.io/JfvqP
<_whitenotifier-3> [nmigen] whitequark edited a comment on issue #356: Export Past, Rose, Fell, etc from nmigen.hdl.ast - https://git.io/JffIq
<_whitenotifier-3> [nmigen] whitequark commented on pull request #349: setup.py: add "wheel" to setup_requires - https://git.io/JffI3
Asu has joined #nmigen
lkcl has quit [Ping timeout: 256 seconds]
<_whitenotifier-3> [nmigen] graingert reviewed pull request #358 commit - https://git.io/JffLn
lkcl has joined #nmigen
Vinalon has quit [Ping timeout: 250 seconds]
Asu has quit [Ping timeout: 265 seconds]
Asu has joined #nmigen
Asu has quit [Read error: Connection reset by peer]
Asu has joined #nmigen
pinknok has quit [Ping timeout: 240 seconds]
____2 has joined #nmigen
____ has quit [Read error: Connection reset by peer]
<_whitenotifier-3> [nmigen] anuejn synchronize pull request #357: make Record inherit from UserValue - https://git.io/Jfvci
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] anuejn reviewed pull request #357 commit - https://git.io/JffWF
<_whitenotifier-3> [nmigen] whitequark reviewed pull request #357 commit - https://git.io/Jffle
<_whitenotifier-3> [nmigen] whitequark reviewed pull request #357 commit - https://git.io/JfflT
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
proteus-guy has quit [Ping timeout: 264 seconds]
proteus-guy has joined #nmigen
Vinalon has joined #nmigen
pinknok has joined #nmigen
FFY00 has quit [Remote host closed the connection]
FFY00 has joined #nmigen
<_whitenotifier-3> [nmigen] anuejn synchronize pull request #357: make Record inherit from UserValue - https://git.io/Jfvci
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] whitequark reviewed pull request #357 commit - https://git.io/JffgV
<_whitenotifier-3> [nmigen] whitequark reviewed pull request #357 commit - https://git.io/JffgV
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] whitequark reviewed pull request #357 commit - https://git.io/Jffgi
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] anuejn synchronize pull request #357: make Record inherit from UserValue - https://git.io/Jfvci
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
<_whitenotifier-3> [nmigen] anuejn reviewed pull request #357 commit - https://git.io/JffgF
<_whitenotifier-3> [nmigen] codecov[bot] edited a comment on pull request #357: make Record inherit from UserValue - https://git.io/JfvCw
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<_whitenotifier-3> [nmigen] whitequark closed issue #354: Inherit `Record` from `UserValue` - https://git.io/JfeMN
<_whitenotifier-3> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±7] https://git.io/Jffag
<_whitenotifier-3> [nmigen/nmigen] anuejn ff6c032 - hdl.rec: make Record inherit from UserValue.
<_whitenotifier-3> [nmigen] whitequark closed pull request #357: make Record inherit from UserValue - https://git.io/Jfvci
<_whitenotifier-3> [nmigen] whitequark commented on pull request #357: make Record inherit from UserValue - https://git.io/Jffa2
<whitequark> awygle: thinking back to our "synthesizable vs behavioral" discussion
<whitequark> the 1st paragraph on Verilator website: "Verilator converts synthesizable (generally not behavioral) Verilog code"
<awygle> huh, so it does
<whitequark> I think your definition is morally more correct
<whitequark> but it seems everyone's using mine
<ktemkin> (maybe this makes me a poor pedant, but I’ve seen those words used to describe so many subtly-different concepts that they feel so context-dependent as to not have a single prescriptivist definition)
<whitequark> i'm totally on board with not saying "behavioral" ever again because that's my experience too
<ktemkin> excepting that I'm inevitably going to wind up using it again without thinking, I agree
Vinalon has quit [Remote host closed the connection]
Vinalon has joined #nmigen
____2 has quit [Quit: Nettalk6 - www.ntalk.de]
pinknok has quit [Ping timeout: 272 seconds]
<Vinalon> It's great how well the 'pysim' simulator works and how easy it is to use
<Vinalon> the Python syntax makes it easy to run simulations of arbitrary .elf files running on an SoC, and that's a lifesaver for debugging
<Sarayan> otoh, it's kinda horribly slow
<Vinalon> oh - I had chalked that up to running it on a cheapo chromebook...
<Vinalon> mostly I appreciate the ease of use; when I tried to pick up Verilog, I tended to skip writing tests because it was tedious, and that didn't work out well.
<Sarayan> ototoh, you can use cxxrtl on yosys and you get an acceleration factor of about 1000x. You have to interface in c++ instead of python though
<Vinalon> huh, interesting - thanks for the tip. I might be a little ways away from figuring out how to do that, though
<whitequark> Sarayan: Vinalon: eventually, there'll be nmigen.back.cxxsim with the same interface as pysim
<whitequark> but it'll be a bit of time before that happens
<awygle> whitequark: i don't think i really have your definition of behavioral clearly stated in my brain, can you summarize? is it just "not synthesizable"?
<Vinalon> neat!
<whitequark> awygle: "not directly corresponding to netlist"
<awygle> mk
<whitequark> suppose you do something like `for(i=0; i<4; i++) x += y[i];`
<whitequark> this is quite possibly synthesizable because HLS exists
<whitequark> but it exists on a higher level of complexity than a netlist
<awygle> sure
<whitequark> many people would call that code "non-synthesizable" anyway, but i think my definition is more precise
<Sarayan> Vinalon: relatively simple example: https://github.com/galibert/retrofpga/tree/master/via6522
<Sarayan> the design is in via6522.py, gen.py generates the yosys commands, which when run generate a c++ sim file with links with main.cc
<Sarayan> the makefile does the commands for the build
<Sarayan> It's probably one of the simplest ways to use the nmigen/cxxrtl combo
<Vinalon> oh cool, thanks
<Sarayan> that's why nmigen.back.cxxsim is not urgent, the current interfacing is in no way insane
<Sarayan> oh, port names get a p_ in front and all underscores are doubled for some reason, you have the W and R macros in main.cc that show you how to write and read them
<whitequark> Sarayan: it's an escaping scheme
<Sarayan> yeah, I had guessed that
<Sarayan> I just didn't see why you needed an escaping scheme in the first place
<Sarayan> Ah, I see
<daveshah> Ahh, I wondered what the p was about and didn't see that
<daveshah> I thought it meant port until I realised it was used in other places too
<Sarayan> I wouldn't have guessed public I must admit
<whitequark> it is unfortunate that right now cxxrtl has a lot of rationale documented, but it's all inside cxxrtl.{cc,h}
<whitequark> i thought it would go a long way but it doesn't; i think i hve to write a manual section at some point
<Sarayan> hey, at least it's documented
<whitequark> yes, the lowest possible bar
<Sarayan> frankly, it's way better documented than rtlil.h
<Sarayan> which isn't
<Sarayan> bah, bedtime, I'll keep reverse-engineering genrtlil.cpp tomorrow
chipmuenk has quit [Quit: chipmuenk]
Asu has quit [Remote host closed the connection]
pinknok has joined #nmigen
futarisIRCcloud has joined #nmigen