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 October 26th
<_whitenotifier-f> [nmigen] newhouseb opened pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yD
<_whitenotifier-f> [nmigen] newhouseb edited pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yD
<_whitenotifier-f> [nmigen] newhouseb edited pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yD
<_whitenotifier-f> [nmigen] codecov[bot] commented on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yN
<_whitenotifier-f> [nmigen] codecov[bot] edited a comment on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yN
<_whitenotifier-f> [nmigen] whitequark commented on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6Se
<_whitenotifier-f> [nmigen] codecov[bot] edited a comment on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yN
<_whitenotifier-f> [nmigen] codecov[bot] edited a comment on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yN
<_whitenotifier-f> [nmigen] whitequark closed pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6yD
<_whitenotifier-f> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JT6Ss
<_whitenotifier-f> [nmigen/nmigen] newhouseb 765c15c - setup: link to latest docs if VCS information is not available.
<_whitenotifier-f> [nmigen/nmigen] github-actions[bot] pushed 1 commit to gh-pages [+0/-0/±13] https://git.io/JT6SC
<_whitenotifier-f> [nmigen/nmigen] whitequark 4440b9f - Deploying to gh-pages from @ 765c15c709a9f2366555ed86eecdbdc7de6721c5 🚀
<_whitenotifier-f> [nmigen] newhouseb commented on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6SW
<_whitenotifier-f> [nmigen] newhouseb edited a comment on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6SW
<_whitenotifier-f> [nmigen] whitequark commented on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6S2
<_whitenotifier-f> [nmigen] whitequark commented on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT6Sa
<_whitenotifier-f> [nmigen] newhouseb commented on pull request #516: Handle installation when not running from a full git checkout - https://git.io/JT69W
<_whitenotifier-f> [nmigen] whitequark reviewed pull request #512 commit - https://git.io/JT6F2
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #nmigen
electronic_eel has quit [Ping timeout: 260 seconds]
electronic_eel has joined #nmigen
PyroPeter_ has joined #nmigen
PyroPeter has quit [Ping timeout: 258 seconds]
PyroPeter_ is now known as PyroPeter
moony has quit [Ping timeout: 260 seconds]
emeb_mac has quit [Quit: Leaving.]
chipmuenk has joined #nmigen
chipmuenk1 has joined #nmigen
chipmuenk has quit [Ping timeout: 260 seconds]
chipmuenk has joined #nmigen
chipmuenk1 has quit [Ping timeout: 260 seconds]
moony has joined #nmigen
Asu has joined #nmigen
Asu has left #nmigen ["Konversation terminated!"]
jeanthom has quit [Ping timeout: 260 seconds]
jeanthom has joined #nmigen
Asu has joined #nmigen
emeb has joined #nmigen
Asu has quit [Remote host closed the connection]
BeerSerc has quit [Remote host closed the connection]
BeerSerc_ has joined #nmigen
<agg> if I want two readers for a memory, normally i'd make two memories, tie the write ports together, and just use the two independent read ports; can i just add two read ports to a Memory and expect yosys to do the right thing?
<agg> on ice40/ecp5
<agg> on a sort of related note, i find i'm often passing read or write ports into my elaboratables' init methods, rather than later using comb statements to wire up addr/data/en to signals in the elaboratable, is that sensible or are there better techniques?
<whitequark> (two read ports) generally yes, you can
<whitequark> (passing ports into init methods) this would result in hierarchy flattening
<agg> hmm, I guess I haven't been looking for that but don't think I've observed it in simulation at least
<agg> would you usually comb wire the port signals into each module instead?
<agg> I guess ideally something like record that can connect all the signals in the right directions would be easier
<whitequark> yes, we have that planned
<agg> does it depend on which module's submodules the port gets added to?
<agg> e.g. if I pass the write port into an elaboratable which then adds it to its module's submodules in elaborate(), would that avoid flattening?
Asu has joined #nmigen
<whitequark> if you use memory ports in any two different modules it will flatten all hierarchy in between
<agg> just in synthesis or simulation too? if it's in synthesis... does it matter, if I'm flattening anyway (by default)?
<agg> I guess it will make it more annoying when I want to not flatten to get utilisation stats
<whitequark> in simulation as well
chipmuenk has quit [Quit: chipmuenk]
chipmuenk has joined #nmigen
chipmuenk has quit [Quit: chipmuenk]
chipmuenk has joined #nmigen
lambda has quit [Quit: WeeChat 2.9]
lambda has joined #nmigen
lambda has quit [Client Quit]
lambda has joined #nmigen
whitequark[m] has joined #nmigen
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 November 2nd
Venkat has joined #nmigen
Venkat has quit [Remote host closed the connection]
samlittlewood_ has quit [Ping timeout: 272 seconds]
samlittlewood has joined #nmigen
samlittlewood has quit [Ping timeout: 246 seconds]
samlittlewood has joined #nmigen
samlittlewood has quit [Ping timeout: 264 seconds]
samlittlewood has joined #nmigen
chipmuenk has quit [Quit: chipmuenk]
samlittlewood has quit [Ping timeout: 260 seconds]
bsmt has joined #nmigen
samlittlewood has joined #nmigen
<bsmt> is there an example for requesting pins from a connector?
<whitequark> you can't request pins from a connector
<whitequark> you need to add a resource
<bsmt> gotcha, thanks. So I should just subclass the platform and make a Resource using the connector pins I want? or is there another way?
<whitequark> you don't need to subclass the platform
<whitequark> just `platform.add_resource` works
<bsmt> oh cool. yeah that's way better, thanks again!
samlittlewood has quit [Ping timeout: 260 seconds]
a314 has joined #nmigen
<a314> In a testbench, is it possible to force all flops to initialize to random values
<a314> like what would happen in a "real" asic
<whitequark> at the moment nmigen requires every platform to provide deterministic power-on reset
<whitequark> there is an open issue for better ASIC support that would involve what you want
<a314> is asserting the reset signal at powerup sufficient?
samlittlewood has joined #nmigen
<a314> (as in, does nmigen expect flops to have the right values on startup, or does it expect them to have the right values after asserting reset?)
samlittlewood_ has joined #nmigen
samlittlewood has quit [Ping timeout: 265 seconds]
samlittlewood_ is now known as samlittlewood
<whitequark> a314: if your ASIC has a global reset signal (routed to every FF) and you assert that, then from nmigen's point of view this looks exactly like power-on reset
<whitequark> i.e. in nmigen, power-on reset values and domain reset values are always the same
<whitequark> the one place where you may encounter issues is SRAMs, because at the moment, nmigen assumes it can always initialize SRAMs and it defaults to zero-initializing them. which is obviously unviable for ASICs
<a314> ah okay
<a314> and that global reset signal is automatically generated for Resettable signals right?
<whitequark> it depends on the platform
<whitequark> for FPGAs, the global reset signal is the internal power-on reset that is implicit in the FPGA's architecture
<whitequark> i.e. it is not present in the netlist explicitly
<a314> how about if just generating a verilog module
<whitequark> if you specify no domain, or a non-reset-less domain (reset-ful?) then you will get an `input rst`
<a314> ah ok
<a314> and the SRAM init thing makes sense, my SRAMs are probably going to be written in pure verilog
samlittlewood has quit [Ping timeout: 272 seconds]
<whitequark> well the usual reason SRAM doesn't have init is because it has 6T standard cells
<whitequark> so you don't really get to init them or to route a reset to them
<a314> oh i'm aware of that, I just meant I was going to have them external so nmigen / the testbench doesn't expect different behavior
<whitequark> right
<whitequark> please report your experience at https://github.com/nmigen/nmigen/issues/185
Asu has quit [Ping timeout: 264 seconds]
<_whitenotifier-f> [nmigen] rroohhh opened pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPFl
<_whitenotifier-f> [nmigen] codecov[bot] commented on pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPFD
<_whitenotifier-f> [nmigen] codecov[bot] edited a comment on pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPFD
<_whitenotifier-f> [nmigen] codecov[bot] edited a comment on pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPFD
<_whitenotifier-f> [nmigen] rroohhh commented on pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPbL
<_whitenotifier-f> [nmigen] whitequark commented on pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPb0
<_whitenotifier-f> [nmigen] rroohhh synchronize pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPFl
<_whitenotifier-f> [nmigen] codecov[bot] edited a comment on pull request #517: lib.fifo.AsyncFFSynchronizer: check input and output signal width - https://git.io/JTPFD