sb0 changed the topic of #m-labs to: https://m-labs.hk :: Logs http://irclog.whitequark.org/m-labs :: Due to spam bots, only registered users can talk. See: https://freenode.net/kb/answer/registration
cedric has quit [Quit: ZNC 1.6.6 - http://znc.in]
cedric has joined #m-labs
cedric has quit [Changing host]
cedric has joined #m-labs
[X-Scale] has joined #m-labs
X-Scale has quit [Ping timeout: 268 seconds]
[X-Scale] is now known as X-Scale
futarisIRCcloud has joined #m-labs
rohitksingh_work has joined #m-labs
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1142: It's just a nicer UI.... https://github.com/m-labs/artiq/issues/1142#issuecomment-441955788
Gurty has quit [Ping timeout: 264 seconds]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
futarisIRCcloud has joined #m-labs
Gurty has joined #m-labs
<GitHub-m-labs> [artiq] klickverbot commented on issue #1142: In terms of injection, what would be higher priority in my opinion than a nice UI would be working override functionality similar to what we have for TTLs, where one can pin the channel to a fixed frequency/phase setting regardless of what the experiment is doing. (This is motivated by diagnosing issues with both DDS hardware and the experiment attached to it over t
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
rohitksingh_work has quit [Read error: Connection reset by peer]
<acathla> whitequark, i'm trying to use your UART in migen, with another FSM to store the received bytes in a FIFO. Nothing works as expected, sometimes the UART FSM is in no known state and crash. My FSM do strange loops while it should not...
<whitequark> acathla: do you use MultiReg to synchronize inputs?
<acathla> Hum, no, what is that?
<whitequark> tl;dr unless you synchronize asynchronous inputs to your clock, nothing will work as intended.
<acathla> Your UART (here: https://lab.whitequark.org/notes/2016-10-18/implementing-an-uart-in-verilog-and-migen/) does not use any of this and seems to be synchronized to the sys clock
<whitequark> acathla: oh
<whitequark> oh yeah, I was just starting out with FPGA design when I wrote that
<whitequark> it needs to be fixed or at least have a note attached
<whitequark> thanks
<whitequark> acathla: that said
<acathla> I am also starting with migen...
<whitequark> it does that because the point was to write the UART core itself and not to show how it integrates into a larger design
<whitequark> but I entirely agree that it can be confusing and misleading, so i'll fix that
<acathla> Which UART should I use then? rewrite my own? Try to understand those overcomplicated UART in misoc with wishbone interface I don't need (yet)?
<whitequark> no no
<whitequark> just add a synchronizer
<whitequark> it's like one line
<whitequark> so you have serial.rx, right?
<whitequark> do this:
<whitequark> rx = Signal()
<whitequark> self.specials += MultiReg(serial.rx, rx)
<whitequark> then give `rx` to the UART instead of `serial.rx`
<whitequark> `MultiReg` is in `migen.genlib.cdc`
<acathla> Ok, thank you.
<acathla> Hum, same behavior :(
<acathla> Oh, slight improvement !
<whitequark> show me the complete code
<acathla> it's not online... yet
<whitequark> gist.github.com or something
<acathla> https://framagit.org/acathla/migen-on-terasic-de2 top file is asserv.py but framing.py is the one trying to synchronize with UART.py
<whitequark> acathla: so it's a multiple clock domain design?
<acathla> Not really, unless you talk about the VGA part
<whitequark> then why are you using multireg between uart and framing?
<acathla> Because... i did it before adding it to the uart part only (between physical serial and UART part then)
<whitequark> hrm
<whitequark> i'm pretty sure it's not the uart, i've used that specific uart in many designs (with synchronization) and it works flawlessly
<whitequark> but i can't point at anything specific in yourdesign, it's pretty large and somewhat hard to navigate
<whitequark> what are the symptoms anyway
<acathla> In the STORE state, I just added a counter, and I monitor it with 7 segments. With the first character sent (after the start byte), it counts to 0x61
<whitequark> smething you could try is adding an explicit reset
<whitequark> not all FPGAs come out of configuration in a well defined state in all cases
<whitequark> e.g. nontrivial ice40 designs all but require a reset
<whitequark> self.submodules += CRG(clk50) or something
<whitequark> also, it passes timing, right?
rohitksingh has joined #m-labs
<acathla> At 9600 bauds? I guess so. I think it's not right configured
<whitequark> no, 9600 is not relevant.
<acathla> Critical Warning (332012): Synopsys Design Constraints File file not found: 'asserv.sdc'.
<acathla> like that?
<whitequark> your design runs at 50 mhz clock, that is what it should pass timing at
<acathla> I don't know how to configure that with migen
<whitequark> platform.add_period_constraint(clk, period)
<acathla> I have a "default_clk_period = 20
<acathla> " in the platform I created. I add it to the git...
<whitequark> you create cd_sys explicitly
<whitequark> this means default_clk_period is ignored
<whitequark> so, you need to constrain cd_sys and cd_pix yourself
<acathla> I have two "Critical Warning (332148): Timing requirements not met
<acathla> " from Quartus
<whitequark> well, that explains why your design doesn't work
<acathla> Warnings are mostly because of the fullHD signal, it's a bit too high for the device and absolutely not optimized
<acathla> Ok, same problem without the clk_pix :(
<whitequark> passes timing now?
<whitequark> is the frequency in quartus logs correct? i.e. 50 MHz
<acathla> yes
<whitequark> can you try adding a reset
<acathla> with self.submodules += CRG(clk50) ?
<whitequark> yes
<whitequark> and removing explicit cd_sys instantiation
<acathla> Ok, did it, but it still complains about timing requirements not met
<whitequark> well, you need to fix timing
<whitequark> that's not really migen-specific and i don't really have time to help with that
<acathla> You already helped a lot, thank you
rohitksingh has quit [Ping timeout: 268 seconds]
rohitksingh has joined #m-labs
<GitHub-m-labs> [artiq] jordens commented on issue #1063: Since at it's core it is about exiting cleanly when requested, we can circumvent issues with signals and windows/unix differences.... https://github.com/m-labs/artiq/issues/1063#issuecomment-442159438
Xark has quit [Ping timeout: 240 seconds]
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1063: What about exiting from the client/dashboard instead? Then it's just using the existing sockets.... https://github.com/m-labs/artiq/issues/1063#issuecomment-442161497
Xark has joined #m-labs
<GitHub-m-labs> [artiq] jordens commented on issue #1063: That's a different feature. This one applies to other tools than master as well. And as long as you can't start the master from the dashboard I'm not that interested in being able to shut it down. If a tool is started from the command line it should be possible to end it cleanly right there as well.... https://github.com/m-labs/artiq/issues/1063#issuecomment-4421635
[X-Scale] has joined #m-labs
X-Scale has quit [Ping timeout: 244 seconds]
[X-Scale] is now known as X-Scale
rohitksingh has quit [Ping timeout: 250 seconds]
<GitHub-m-labs> [artiq] sbourdeauducq commented on issue #1063: Threads, and also it's easy to inadvertently press Enter.... https://github.com/m-labs/artiq/issues/1063#issuecomment-442166316
rohitksingh has joined #m-labs
marmelada has joined #m-labs
<marmelada> hey
<sb0> marmelada: hi
<marmelada> is there a way to clean flash memory of sayma/kasli etc. with artiq_flash or openocd?
<sb0> openocd yes
<marmelada> I've had this issue happen to me few times, when after flash ARTIQ wouldn't boot, clearing flash from vivado helped
felix[m]2 has quit [Remote host closed the connection]
marble[m] has quit [Read error: Connection reset by peer]
xobs has quit [Read error: Connection reset by peer]
jfng has quit [Remote host closed the connection]
<sb0> you should be able to modify the artiq_flash openocd script, or patch artiq_flash, to erase the flash from there as wwell
marble[m] has joined #m-labs
rohitksingh has quit [Ping timeout: 268 seconds]
<marmelada> sb0: should something like this work?
<marmelada> and call it with bankname "spi0" and then "spi1" for sayma
mumptai has joined #m-labs
rohitksingh has joined #m-labs
xobs has joined #m-labs
jfng has joined #m-labs
felix[m]2 has joined #m-labs
xobs has quit [Remote host closed the connection]
felix[m]2 has quit [Remote host closed the connection]
jfng has quit [Remote host closed the connection]
marble[m] has quit [Remote host closed the connection]
marmelada has quit [Ping timeout: 256 seconds]
marble[m] has joined #m-labs
rohitksingh has quit [Remote host closed the connection]
felix[m]2 has joined #m-labs
xobs has joined #m-labs
jfng has joined #m-labs
cr1901_modern1 has joined #m-labs
cr1901_modern has quit [Ping timeout: 252 seconds]
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined #m-labs
mumptai has quit [Quit: Verlassend]
futarisIRCcloud has joined #m-labs
<GitHub-m-labs> [artiq] dhslichter commented on issue #1142: @klickverbot yes this would be nice, but definitely requires more mucking around with the guts on the FPGA in a serious way. @sbourdeauducq is there a reasonable way to maintain the DDS state in gateware or is this a nightmare? https://github.com/m-labs/artiq/issues/1142#issuecomment-442264085