sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
jbqubit has quit [Ping timeout: 260 seconds]
futarisIRCcloud has joined #m-labs
bluebugs has joined #m-labs
bluebugs has joined #m-labs
bluebugs has quit [Changing host]
sb0 has joined #m-labs
_whitelogger has joined #m-labs
<sb0> rjo, do you have a preference for bitonic sort over odd–even mergesort?
<sb0> in fpga implementation that is
<sb0> those sorting networks would be useful to implement scalable rtio conflict resolution (replace)
_whitelogger has joined #m-labs
<GitHub123> [artiq] sbourdeauducq pushed 1 new commit to master: https://github.com/m-labs/artiq/commit/8fea3614127162a51df9a6455ae0af67a933e3e7
<GitHub123> artiq/master 8fea361 Sebastien Bourdeauducq: firmware: always use 8 characters to abbreviate git commit hashes
_whitelogger has joined #m-labs
<bb-m-labs> build #622 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/622
<bb-m-labs> build #493 of artiq-win64-test is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/493
<bb-m-labs> build #1559 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1559
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<rjo> sb0: i am no expert. bitonic seems to be slightly larger but has perfectly balanced logic levels. http://dbis.cs.tu-dortmund.de/cms/en/publications/2012/sorting-networks/sorting-networks.pdf
<sb0> are we going to do non-realtime i2c over drtio?
<GitHub36> [artiq] jordens pushed 2 new commits to master: https://github.com/m-labs/artiq/compare/8fea36141271...424b2bfbd864
<GitHub36> artiq/master 424b2bf Robert Jordens: rtio: describe rio and rio_phy domains a bit more
<GitHub36> artiq/master 219dfd8 Robert Jordens: rtio: add one register level for rio and rio_phy resets...
<rjo> i don't think so.
<rjo> sb0: on 219dfd8, let me know if you see a nicer way to do this.
<rjo> bb-m-labs: force build --props=package=artiq-kc705-phaser artiq-board
<bb-m-labs> build forced [ETA 17m31s]
<bb-m-labs> I'll give a shout when the build finishes
<sb0> rjo, does this really help with timing?
<sb0> the AsyncResetSynchronizer output is already a register
<sb0> which is driven asynchronously, so the AsyncResetSynchronizer can be placed pretty much anywhere in the design
<sb0> and its output needs to be distributed to all reset inputs in the domain.
<sb0> now you are just adding another register at the output, that also can be placed pretty much anywhere, and whose output has the same load
<sb0> your strategy is to have vivado duplicate that second register?
<sb0> rjo, maybe put the intermediate clock domain, the AsyncResetSynchronizer and the register into a small module?
<sb0> then instantiate twice instead of the original two AsyncResetSynchronizer
<bb-m-labs> build #623 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/623
<bb-m-labs> build #624 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/624
<rjo> sb0: yes. but the amount of code is about the same.
<rjo> sb0: and don't the CDs have to be globally unique?
<bb-m-labs> build #494 of artiq-win64-test is complete: Warnings [warnings python_unittest] Build details are at http://buildbot.m-labs.hk/builders/artiq-win64-test/builds/494 blamelist: Robert Jordens <rj@m-labs.hk>
<bb-m-labs> build #1560 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1560
<sb0> rjo, no, the CDs don't have to be globally unique
<rjo> ah right i remember the example
<sb0> when there is a CD conflict at a node in the module tree, each sub-module gets its own version of the CD
<sb0> okay I'll just copy-paste...
<rjo> sb0: also, i'd like to implement the false path to the first register of the asyncresetsync. (set_false_path -to [get_cells rst_meta_reg]). i am unsure where to inject that without causing to much trouble.
<sb0> instead of using macros
<sb0> rjo, is there a way to do it with verilog pseudocomments?
<sb0> doing it cleanly is otherwise impossible without major changes in migen/migen.build
<sb0> well. maybe you can look through the design in migen.build, spot the AsyncResetSynchronizers, and add those commands to the script
<sb0> actually that should be simple enough
<rjo> sb0: no pseudocomments afaict.
<rjo> sb0: ok to merge the resetless-signals branch in migen? happy to revert it again if there are problems.
<rjo> sb0: that A.R.S. get's lowered really late. and the actual register is only created then (in verilog.convert()). after that, the lowered specials are forgotten...
<rjo> ahaaa. there are user-defined attributes. that's not too bad.
kaalia has quit [Ping timeout: 240 seconds]
reportingsjr has quit [Ping timeout: 260 seconds]
kaalia has joined #m-labs
reportingsjr has joined #m-labs
<sb0> rjo, the command needs to be on the FD instance?
<sb0> if you can have the command on signals then you can get the signal before verilog.convert()
bluebugs is now known as cedric
jaeckel has quit [*.net *.split]
balrog has quit [*.net *.split]
balrog has joined #m-labs
jaeckel has joined #m-labs
_whitelogger has joined #m-labs