whitequark changed the topic of #nmigen to: nMigen hardware description language · code https://github.com/nmigen · logs https://libera.irclog.whitequark.org/nmigen
<_whitenotifier-a> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/J4MTG
<_whitenotifier-a> [YoWASP/nextpnr] whitequark fb41b22 - Update dependencies.
<_whitenotifier-a> [YoWASP/yosys] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/J4MYQ
<_whitenotifier-a> [YoWASP/yosys] whitequark 0c0fbf5 - Update dependencies.
Degi has quit [Ping timeout: 265 seconds]
Degi has joined #nmigen
Raito_Bezarius has quit [Ping timeout: 255 seconds]
Raito_Bezarius has joined #nmigen
emeb_mac has quit [Quit: Leaving.]
electronic_eel has quit [Ping timeout: 252 seconds]
electronic_eel has joined #nmigen
hve has joined #nmigen
<hve> Hi all
<whitequark> hi!
<hve> Hi wq! Just logging in and wondering how to help..
<hve> Working with the colorlight board, using litex..
<hve> And i like the versatillity of nmigen, can migen and nmigen mix?
<whitequark> sort of
<whitequark> the same way you can mix verilog and nmigen
<hve> Wondering if I should port the platform to nmigen-boards
<hve> Currently mixing verilog and migen/litex do not understand how to get gtkwave traces. Probably only in available in python only mode...
<hve> So you see I am still learning... :)
<whitequark> iirc there's a colorlight platform already
<hve> Just wondering would it make sense to write a converter that converts litex_board platforms to nmigen_boards?
<whitequark> ahh, there's an open PR
<whitequark> probably not, the conventions are not the same
<agg> there are a few different colorlite boards out there too, with totally different pinouts sadly
<agg> though i think there are nmigen platforms around for many of the variants
<hve> I would imagine a simple script could do the conversion for += 90% just by converting the structures to a nmigen format...
<whitequark> litex boards do not specify IO directions, for example
<hve> just a thought...
<whitequark> I'm specifically against having boards being converted from migen/litex ones because there is a good reason the nmigen board format is designed in a different way
<whitequark> migen boards are glorified constraint files
<hve> looking at the PR, hmm if you like I will have a go with the latest comments to get this PR according to standards..
<whitequark> that would be great!
<whitequark> thank you
<hve> Just looking ath the ulx3s.py board.. The directions of the pins could probably be overridden I would assume.
<hve> Thing is the colorlight board needs some hardware modification (removal of output buffers) in order to have input support.
<agg> you'd probably specify those pins in the 'connectors' part of the platform
<agg> while the led, switch, rgmii, and ram would go in the resources
<hve> Interesting...
<agg> in that case i also put the common led header signals (oe, clks, etc) as resources I guess
<agg> hmm well I also put the LED connectors into resources where they were intended to be outputs, heh
<agg> but if you want to let users change direction later because they've removed the level shifters, you can also specify each connector's pins in the connectors attribute, so users can put their own resources on them
<hve> platform.resources += Resource( "myextention" ....... )
<hve> Like this?
<hve> Ok connector layer added I think I understand...
<hve> The different revisions of the colorlight have basically quite different routing should we use one file per revision?
<hve> Or is there benefit in sharing code?
<whitequark> one file per revision is generally fine
<whitequark> the cases where sharing is beneficial are limited
<hve> +1
<hve> I will propose a PR then for "colorlight_ecp5_5A75B_r7_0.py" is the name ok?
<hve> Or just colorlight_5A75B_r7_0.py
<hve> Or all lowercase...
<hve> I think i go by "colorlight_5b75b_r7_0.py"
<hve> Just a question:
<hve> *LEDResources(pins="P11", attrs=Attrs(IO_TYPE="LVCMOS33", DRIVE="4", PULLMODE="UP")), # PULLMODE OPENDRAIN ?
<hve> *ButtonResources(pins="M13", attrs=Attrs(IO_TYPE="LVCMOS33", PULLMODE="UP"), # Button pulls re
<hve> ),
<hve> sistor low... EE's call this pull up..
<hve> For button resources Button pulls re
<hve> sistor low... EE's call this pull up..
<hve> But from a pin persective it is pull down ...
<hve> PinsN probably..
<hve> So question is: is it relevant for XXXResources to define the transition type for an input H->L L->H
<hve> invert=True, meaning H->L input?
<hve> Similar for LEDResources output invert=True meaning Low state active led
<hve> Sorry for the spam..
<d1b2> <zyp> pullmode refers to the resistor that defines the idle state
<d1b2> <zyp> in your case, resistor pulls up, button drives down
<hve> tnx
_whitelogger has joined #nmigen
emeb has joined #nmigen
<_whitenotifier-a> [nmigen-boards] hvegh opened pull request #173: Add Colorlight 5A-75B V7.0 - https://git.io/J4bIz
<_whitenotifier-a> [nmigen/nmigen-boards] whitequark pushed 1 commit to master [+1/-0/±0] https://git.io/J4ble
<_whitenotifier-a> [nmigen/nmigen-boards] hvegh 330130e - Add Colorlight 5A-75B V7.0
<_whitenotifier-a> [nmigen-boards] whitequark closed pull request #173: Add Colorlight 5A-75B V7.0 - https://git.io/J4bIz
hve has quit [Quit: Leaving]
someone--else has joined #nmigen
bvernoux has joined #nmigen
someone--else has quit [Quit: Connection closed]
chiastre has quit [Ping timeout: 240 seconds]
chiastre has joined #nmigen
emeb_mac has joined #nmigen
emeb has quit [Ping timeout: 252 seconds]
emeb_mac has quit [Ping timeout: 240 seconds]
emeb has joined #nmigen
emeb_mac has joined #nmigen
bvernoux has quit [Quit: Leaving]
pftbest has joined #nmigen
lf_ has quit [Ping timeout: 240 seconds]
lf has joined #nmigen