lekernel changed the topic of #m-labs to: Mixxeo, Migen, MiSoC & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
fengling has joined #m-labs
fengling has quit [Ping timeout: 264 seconds]
rjo has quit [Quit: leaving]
<GitHub51> [misoc] sbourdeauducq pushed 3 new commits to master: http://git.io/x2oI
<GitHub51> misoc/master 2513833 Sebastien Bourdeauducq: README: 80 columns
<GitHub51> misoc/master 8e48502 Sebastien Bourdeauducq: spiflash: style
<GitHub51> misoc/master ff29c86 Sebastien Bourdeauducq: litesata/kc705: use FMC pin names
rjo has joined #m-labs
<GitHub189> [migen] sbourdeauducq pushed 2 new commits to master: http://git.io/x25W
<GitHub189> migen/master 154ad54 Sebastien Bourdeauducq: platforms/kc705: fix imports
<GitHub189> migen/master f154c2e Sebastien Bourdeauducq: xilinx/programmer/vivado: fix Linux support
_whitelogger has joined #m-labs
Bertl_zZ is now known as Bertl
sb0 has quit [Ping timeout: 255 seconds]
<GitHub119> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/xa7d
<GitHub119> misoc/master 9df60bf Florent Kermarrec: lasmicon: better management of optional bandwidth module (automatically inserted by -Ot with_memtest True)
<GitHub34> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/xadc
<GitHub34> misoc/master 2f7206b Florent Kermarrec: sdram: revert use of scalar values for DFIInjector
<GitHub113> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/xaNt
<GitHub113> misoc/master 9210272 Florent Kermarrec: sdram: pass phy_settings to LASMIcon, MiniCON and init_sequence
<GitHub88> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/xVTR
<GitHub88> misoc/master 905be50 Florent Kermarrec: sdram: move lasmibus to core, rename crossbar to lasmixbar and move it to core, move dfi to phy
_florent_ has joined #m-labs
<GitHub127> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/xVq4
<GitHub127> misoc/master 0bcd6da Florent Kermarrec: soc: remove is_sim function
<GitHub78> [misoc] enjoy-digital pushed 3 new commits to master: http://git.io/xVGH
<GitHub78> misoc/master f27e7a4 Florent Kermarrec: litesata: remove unneeded clock constraint
<GitHub78> misoc/master 1d4dc45 Florent Kermarrec: LiteXXX cores: use format in prints
<GitHub78> misoc/master 0716dad Florent Kermarrec: targets: keep the SPI flash core even if with_rom is enabled, so that flash booting in the BIOS still works
sb0 has joined #m-labs
<GitHub187> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/xVWU
<GitHub187> misoc/master 7c058a5 Florent Kermarrec: com/spi: use .format in tb
sb0 has quit [Quit: Leaving]
Bertl is now known as Bertl_oO
_florent_ has quit [Ping timeout: 245 seconds]
_florent_ has joined #m-labs
methril has joined #m-labs
methril has quit [Ping timeout: 240 seconds]
methril has joined #m-labs
antgreen has joined #m-labs
sb0 has joined #m-labs
_florent_ has joined #m-labs
hozer has quit [Ping timeout: 250 seconds]
hozer has joined #m-labs
Bertl_oO is now known as Bertl
<GitHub156> [migen] enjoy-digital pushed 1 new commit to master: http://git.io/xKsF
<GitHub156> migen/master 991572f Florent Kermarrec: mibuild/sim: create server.py and server_tb (Proof of concept OK with flterm)...
<_florent_> we can now use flterm for the simulations :)
<GitHub138> [migen] enjoy-digital pushed 2 new commits to master: http://git.io/xKgp
<GitHub138> migen/master 5ec26a4 Florent Kermarrec: mibuild/sim: simplify console_tb with sim struct
<GitHub138> migen/master f4b060f Florent Kermarrec: mibuild/sim: avoid updating end at each cycle (simulation speedup)
<sb0> +while True:
<sb0> +time.sleep(1)
<sb0> how about you join those threads instead?
<_florent_> the last part is just a proof of concept, I'm going to change that
<sb0> and wouldn't you be able to use a pty instead of all this?
<sb0> on linux at least
<_florent_> I'm using pty
rjo has quit [Read error: Connection reset by peer]
rjo has joined #m-labs
<_florent_> you start the server, it creates serial port with pty
<sb0> so why do you need the unix socket? creating the pty in the cpp code directly doesn't work?
<_florent_> because that won't be practical
<_florent_> you start the server
<_florent_> then you open flterm
<sb0> you could also get rid of the threads if you read/write the pty directly
<_florent_> and after you start your simulation
<sb0> can't the pty buffer things?
<_florent_> but if I use a server, it's also to support ethernet later
<sb0> start the simulation, messages are buffered until you run flterm
<sb0> please don't support ethernet
<sb0> there is already ssh for doing this sort of thing
<sb0> implementing ethernet there is feature creep
<_florent_> ???
<_florent_> why? it's not to redirect the uart over ethernet, it's to connect it to the FPGA simulation
<_florent_> so that we can netboot, test uip in simulation, etc...
<sb0> ah! sorry I thought you wanted the simulation model to connect to a pty server over ethernet for the uart.
<_florent_> No :)
<sb0> in that case, what's wrong with the simulation cpp code creating directly a tun/tap device?
<sb0> and no server stuff
<_florent_> because that's not partical
<_florent_> with ethernet, you will want to use wireshark
<_florent_> if you only create the tap when the simulation start, you will have to open/close wireshark for each simulation
<sb0> the server is not practical: multiple processes to run, threads, synchronization bugs, memory leaks, ports/unix socket names conflicts, ...
<sb0> security issues
<_florent_> OK, so how do you manage not opening/close the uart terminal or wireshark between simulation?
<_florent_> open/close
<sb0> hmm... a solution could be to make the simulation model capable of running arbitrary shell commands after it has initialized the pty+tap
<sb0> then it could start flterm and tcpdump, and maybe the wireshark gui
<sb0> would that work?
<_florent_> maybe, but it should not start flterm and others everytime, only for the first simulation
<_florent_> another solution is to have a separate script that does that
<sb0> what's wrong with doing it everytime?
<sb0> flterm is very quick to start
<sb0> wireshark gui may be more of an issue
<_florent_> I don't like the fact of having to close tools at every iterations, we loose time while debugging
<_florent_> anyway, the server is only *a* dut with Verilator, you can still use it on console mode
<_florent_> in
<_florent_> I can add pty to it
<sb0> did you mean tun/tap?
<sb0> it already has pty...
<_florent_> no, it does not create a virtual uart, it only redirects things to the console
<_florent_> I have 2 dut for Verilator: console_tb and server_tb
<_florent_> console_tb is the old dut_tb and is unchanged
<_florent_> if fact you can select the dut for the simulation
<_florent_> if you just want to redirect the uart to the console, ./make.py -t simple -p sim build-bitstream
<_florent_> if you want to use the server: ./make.py -t simple -p sim -Ob dut server_tb build-bitstream
<sb0> ah, I see
<sb0> hmm
<_florent_> console_tb dut is used by default
<sb0> ...I really dislike every IPC mechanism
<_florent_> yes, but we will only have uart and ethernet here, it should not be a mess (and I'm not enforcing you to use it :))
<sb0> the only somewhat reasonable one is creating a child process and redirecting stdin/stdout, with the problem that you can't use printf carelessly in the child process anymore. everything other IPC thing I've seen is dirty.
<sb0> the IPC protocol itself isn't the issue, the problem is how you connect those two processes
<sb0> *the protocol on top of IPC
<_florent_> Yes I thought about using stdin/stdout
<_florent_> I can eventually use that If I have another script that create my virtual uart and ethernet tap
<sb0> unix sockets are the suckless option, but they're still pretty bad
<sb0> non-portable features, messing with the filesystem, sometimes permission issues
<sb0> using stdin/stdout just displaces the problem... how do you tell the server which simulation to run?
<_florent_> the server knows nothing about the simulation we are running
<_florent_> it only bridges the FPGA uart to the virtual uart and the FPGA ethernet to the ethernet tap
<sb0> yes. but it would need to if it has to start the simulation as a child process and communicate over stdin/out
<_florent_> the "server" in this case can probably be integrated in the build system
<_florent_> no, in the script that starts the simulation
<sb0> well... without restarting the processes that use the tap/pty at every simulation, a server using unix sockets is probably the least bad option
<_florent_> OK, I keep this for now
<sb0> would that work with asyncio instead of threads?
<_florent_> I've never used asyncio for now, so I not able to say
<sb0> the main difficulties will be to wrap the pty and tap io methods into asyncio coroutines
<sb0> if the underlying OS objects are file descriptors, that should be easy enough
<_florent_> yes it's file descriptors for both
<_florent_> I have to go, I'll have a look at asyncio
<_florent_> bye
<sb0> bye!
_florent_ has quit [Quit: Leaving]
methril has quit [Read error: Connection reset by peer]
stekern has quit [Ping timeout: 255 seconds]
stekern has joined #m-labs
Bertl is now known as Bertl_zZ
FabM has joined #m-labs
FabM has quit [Quit: ChatZilla 0.9.91.1 [Firefox 36.0/20150222232811]]
<sb0> ysionneau, we can add a dummy tag to the artiq repos...
<GitHub14> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/xP1X
<GitHub14> artiq/master 6062b42 Sebastien Bourdeauducq: doc: update overview slides
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#40 (master - 6062b42 : Sebastien Bourdeauducq): The build passed.
travis-ci has left #m-labs [#m-labs]
antgreen has quit [Remote host closed the connection]
sb0_ has joined #m-labs
<ysionneau> sb0: ok, I will test on my fork, but maybe something like "dev" will do, or "0.0"
* ysionneau calling it a day
<GitHub87> [migen] enjoy-digital pushed 2 new commits to master: http://git.io/xXfv
<GitHub87> migen/master 2d6fbd7 Florent Kermarrec: mibuild/sim: use /tmp/simsocket sockaddr for server
<GitHub87> migen/master 3d7f9fd Florent Kermarrec: mibuild/sim/server_tb: use SERIAL_SINK_ACK
<GitHub144> [misoc] enjoy-digital pushed 1 new commit to master: http://git.io/xXfH
<GitHub144> misoc/master 200791c Florent Kermarrec: uart: generate ack for rx (serialboot OK with sim)