whitequark[m] changed the topic of #nmigen to: nMigen hardware description language · code https://github.com/nmigen · logs https://freenode.irclog.whitequark.org/nmigen
lf has quit [Ping timeout: 240 seconds]
lf has joined #nmigen
pftbest has joined #nmigen
pftbest has quit [Ping timeout: 240 seconds]
pftbest has joined #nmigen
<_whitenotifier-5> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JtA6x
<_whitenotifier-5> [YoWASP/yosys] whitequark cc9023c - Update dependencies.
jeanthom has joined #nmigen
revolve has quit [Read error: Connection reset by peer]
revolve has joined #nmigen
jeanthom has quit [Ping timeout: 264 seconds]
roamingr1 has quit [Ping timeout: 276 seconds]
sakirious5 has joined #nmigen
sakirious has quit [Ping timeout: 260 seconds]
sakirious5 is now known as sakirious
Degi_ has joined #nmigen
Degi has quit [Ping timeout: 272 seconds]
Degi_ is now known as Degi
emeb_mac has quit [Quit: Leaving.]
PyroPeter_ has joined #nmigen
PyroPeter has quit [Ping timeout: 276 seconds]
PyroPeter_ is now known as PyroPeter
electronic_eel_ has joined #nmigen
electronic_eel has quit [Ping timeout: 276 seconds]
Bertl is now known as Bertl_zZ
feldim2425 has quit [Ping timeout: 272 seconds]
feldim2425 has joined #nmigen
revolve has quit [Ping timeout: 245 seconds]
revolve has joined #nmigen
chipmuenk has joined #nmigen
jeanthom has joined #nmigen
chipmuenk has quit [Quit: chipmuenk]
lkcl has quit [Ping timeout: 276 seconds]
lkcl has joined #nmigen
jeanthom has quit [Ping timeout: 245 seconds]
jeanthom has joined #nmigen
electronic_eel_ has quit [Ping timeout: 276 seconds]
electronic_eel has joined #nmigen
_whitelogger has joined #nmigen
Bertl_zZ is now known as Bertl
jeanthom has quit [Ping timeout: 245 seconds]
nickoe has quit [Ping timeout: 272 seconds]
nickoe has joined #nmigen
zignig has joined #nmigen
* zignig has been building a pure nmigen core. join me in #boneless. AMA? ...
<zignig> based on Ver WQ's awesome bonelee-v3 CPU
<zignig> 16 bits of awesome , I have nearly built a working console, NO C , just python.
<d1b2> <OmniTechnoMancer> 😮
revolve has quit [Ping timeout: 245 seconds]
revolve has joined #nmigen
<zignig> 16 bit processor for greater good.
FFY00_ has quit [Ping timeout: 240 seconds]
<lkcl> zignig, niiice
FFY00 has joined #nmigen
roamingr1 has joined #nmigen
<zignig> :)
FFY00_ has joined #nmigen
FFY00 has quit [Ping timeout: 260 seconds]
roamingr1 has quit [Ping timeout: 240 seconds]
<lkcl> zignig: it's just frickin cool to do everything in python, isn't it?
<lkcl> i can see that's lining up extremely elegantly, to make for a very efficient decoder
<lkcl> reminds me of the 6600 ALU decoder which was something mad like *eight gates*
<zignig> lkcl: yep not a single line of verilog, it's snakes all the way down.
<zignig> *Her Quarkyness, has been busy with RL** recently and I have been noodleing witht the a 16 bit fantacy proc... ;)
<lkcl> RL? real life?
* lkcl wonders what that is :)
<zignig> hehe , mine keeps on getting in the way of quality coding time .... !!Children
<zignig> https://github.com/zignig/spork , mostly stolen code but it is an autosoc with some pythonish constructs.
<lkcl> you know a "spork" is a hybrid spade and a fork, right?
* zignig bows to foone.
<zignig> mwwwwwwaaahhhhhhhhhhhhhhh ;)
<zignig> ** want.
<zignig> would hang that next to my banjo...
<tpw_rules> boneless is good
<zignig> tpw_rules: most of my work has been based on your investigations.
<zignig> trying to unspecify the interfaces mostly ;))
<zignig> I have managed to get a number of constructs defined, the idea is to make a "get started" construct for any nmigen-board.
<zignig> blinky --> 16 bit awesome core --> galactiv domination...
* zignig 's fingers are failing G'nite all. back tommorrow.
<lkcl> night
chipmuenk has joined #nmigen
chipmuenk has quit [Quit: chipmuenk]
jeanthom has joined #nmigen
roamingr1 has joined #nmigen
<d1b2> <OmniTechnoMancer> I am attempting to 6502, it is... interesting, I am probably making a huge mess for myself (at least I wont have to do decimal mode)
<GenTooMan> zignig galactic domination might be difficult, too much competition for that.
electronic_eel has quit [Ping timeout: 264 seconds]
electronic_eel_ has joined #nmigen
bvernoux has joined #nmigen
sakirious has quit [Quit: The Lounge - https://thelounge.chat]
pftbest has quit [Remote host closed the connection]
pftbest has joined #nmigen
pftbest has quit [Read error: Connection reset by peer]
pftbest has joined #nmigen
revolve has quit [Read error: Connection reset by peer]
revolve has joined #nmigen
Bertl is now known as Bertl_oO
_whitelogger has joined #nmigen
electronic_eel_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
electronic_eel has joined #nmigen
<d1b2> <benzn> i might be doing this wrong but: with the vivado backend I'm trying to set up SERDES blocks and I need to constrain the input/output pads to specific locations otherwise everything will be optimized out
<Evidlo> is this blinky example up to date? http://blog.lambdaconcept.com/doku.php?id=nmigen:nmigen_hello_world
<Evidlo> when I run it, I get 'Object (slice (sig led) 0:1) is not an nMigen signal'
<d1b2> <benzn> if i map pins using nmigen directly, i always get some variation of IBUFs spliced in
<d1b2> <benzn> which understandably confuses the hell of out vivado
<d1b2> <benzn> i don't see a way to specify a raw pin that nmigen won't interfere with
<d1b2> <benzn> i suppose i could manually constrain the ports, but I'd need a way to keep/find them
<d1b2> <benzn> looks like it should work to me, i'd make sure you're running a modern version of the right nmigen
<d1b2> <benzn> i usually run head of nmigen/nmigen fwiw
<Evidlo> also, why is there both github.com/m-labs/nmigen and github.com/nmigen/nmigen?
<d1b2> <benzn> nmigen was forked, there are disagreements about which one is the "one true nmigen" but pretty much everyone uses nmigen/nmigen
<d1b2> <benzn> the m-labs one is basically abandonware as well fwiw
<Evidlo> ok, I tried it with nmigen HEAD, but I'm still getting the same problem
<d1b2> <benzn> hmm me too, i've never used the cli before so need to look at what it's doing
<d1b2> <benzn> ok if you remove the ports kwarg on the last line
<d1b2> <benzn> it works
<d1b2> <benzn> something seems funky in the VCD generation there
<Evidlo> thanks
electronic_eel has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
electronic_eel has joined #nmigen
<agg> benzn: are you using dir=”-” in platform.request?
<agg> Evidlo: that's a classic nmigen usage error, the ports argument needs to be an iterable like a list or tuple, but in that line (top.led) is just brackets, it should be (top.led,) or [top.led]
<agg> benzn: dir="i" or o or io or oe will insert the relevant platform primitive for the io port (eg your IBUF), while "-" just gives you the raw top level signal directly, which is what you want if you're giving a pin to a platform primitive
<Evidlo> I see, thanks
<d1b2> <benzn> > TypeError: Direction must be one of "i", "o", "oe", or "io", not '-'
jeanthom has quit [Ping timeout: 240 seconds]
<agg> benzn: this should be in platform.request() not the platform class itself
<Evidlo> another problem in the tutorial. It seems like Simulator used to work as a context manager but doesn't anymore: http://blog.lambdaconcept.com/doku.php?id=nmigen:nmigen_sim_testbench
<Evidlo> I just get "AttributeError: **enter**"
<agg> Evidlo: I think that specific issue in that tutorial has caused a lot of people that problem so it's been mentioned in this channel a few times, I thought nmigen had even added a specific diagnostic for it but I might be misremembering or maybe it didn't merge yet
<agg> Really easy to do because with two signals you'd have (a, b) naturally so (a) seems ok
<agg> Ah yea the simulator api changed a little
<d1b2> <benzn> ah awesome, i think that worked. thanks!
<agg> Evidlo: sim = Simulator(my_module); simulator.add_clock(1/freq); simulator.add_sync_process(my_testbench); simulator.run()
<agg> if you want a VCD file out, it's with simulator.write_vcd(path): simulator.run()
<agg> if you're simulating combinatorial logic instead, simulator.add_process() instead of add_sync_process
<agg> (and use simulator.run_until(time) instead of simulator.run())
<Evidlo> can I still use nmigen.cli and do all this?
<agg> I haven't used nmigen.cli and don't know how you'd give it the testbench function, but yes, its default 'simulate' action will run your design for a few clock cycles and output a vcd
<agg> usually for a quick demo or test I'd just stick my own `if __name__ == "__main__"` at the bottom
<agg> yes, I think nmigen.cli will just run your design for a few clock cycles, if you want a separate function to apply a stimulus you're probably beyond what nmigen.cli does for you, but the good news is it doesn't do much for you and it's easy to do yourself
nengel has quit [Quit: gone afk]