<_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
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
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
<_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