Fwd: [Milkymist-devel] M^3, Mirteo and other future plans

Sébastien Bourdeauducq sebastien.bourdeauducq at lekernel.net
Mon Jun 11 08:20:15 EDT 2012

Please follow up on the milkymist list <devel at lists.milkymist.org>

-------- Original Message --------
Subject: [Milkymist-devel] M^3, Mirteo and other future plans
Date: Mon, 11 Jun 2012 14:10:48 +0200
From: Sébastien Bourdeauducq <sebastien.bourdeauducq at lekernel.net>
Reply-To: Milkymist developers' list <devel at lists.milkymist.org>
To: Milkymist One, Milkymist SoC and Flickernoise developers' list 
<devel at lists.milkymist.org>


Summarizing some IRC discussions and taking them to the list - and
adding some info.

M^3 - Milkymist Modular Mainboard
The idea is to create a generic and minimalist board that can be reused
in several different products.

Here are the rough specs:
* Artix-7 100 FPGA
* 4x DDR3 chips, 16-bit each. Memory chips are to be connected
individually to the FPGA so that painful read/write leveling is
unnecessary and the page hit rate (performance) is potentially
increased. This detail is important as it precludes prototyping on a
KC705 board which uses a SODIMM.
* "SPI" flash (4-bit fast version)
* Connectors to be placed on one side (for rack-mounting):
** Power
** 4x HDMI. The beautiful thing about the direct FPGA connection is that
they can switch between video input and output. Also, no DAC.
** Ethernet (optional, the whole subsystem can be DNPd depending on
* Connectors to be placed at the front:
** 4x USB. Can be DNPd depending on product and rate of bugfixing.
** The USB signals should also break out on a HE10 connector so that the
ports can be placed on the front panel of a rack, with a cable and adapter.
* Internal connectors (all direct FPGA connection):
** LVDS LCD panel. There is no standard pinout, try to find the most
common one (if it exists) or just make sure it can be adapted without
too much soldering for prototyping.
** Generic I/O, also exposing the XADC.
This connector can be used for front panels, Mirteo sensor, audio, etc.
** SATA (unsupported/only for #1 below). It's difficult to have on
generic I/O because of the high speed of the signal.

(1) For FPGA developers and hackers(*), the bare M^3 is like the M1, but
perhaps cheaper, with a bigger and slightly faster FPGA, much more
memory bandwidth and no "fancy" peripherals. And supported by the best
open source SoC ever.
(2) 3-channel HD video mixer. Nothing very fancy - just 1 fader/channel
- but it's easy to do once the basic foundations are there, and there is
definitely a demand for this.
Of course, now that we start acquiring video directly, I expect a lot of
time will be spent on pesky compatibility issues (this is one of the
reasons why we have CVBS on the M1, which has less variations, and the
ADV7181 cleans many things up already).
(3) M1-style device with better video quality and resolution, by porting
some FN software features to the new (milkymist-ng) architecture or
-better- with a variant of the Mirteo software (the latter being
potentially usable on the M1 too).
(4) Rack-mount version(s) of #2 and/or #3.
(5) The "Mirteo", a more experimental device (compared to #1) with a
user interface like the Reactable
(http://www.youtube.com/watch?v=0h-RhyopUmc) and slightly different
patch system. More on that later.

I will personally pursue actively #2 and #5.

Milkymist One
The basic milkymist-ng architecture works today on the M1 (which is what
I prototype it on), including the DDR SDRAM which is the most
technically difficult part. Other important features missing at the
moment (like graphics acceleration) are independent of the FPGA.
M1-specific cores written in Verilog can be interfaced with Migen
without much rewriting or hassle, as long as they do not use DMA on the
FML bus (i.e. only the video input core will pose a problem).
Then, it could run basically the same software as #3.
This means that with some effort the M1 can still be supported with
regular gateware/software updates and keep some compatibility with
Mirteo and other new devices. It would be nice, however, that someone
else does those relatively simple porting tasks as I will mostly focus
on the new devices, which are hard enough already.



(*) Of course, the M1 experience has made me aware of how much optimism
there is in this statement.
IRC: #milkymist at Freenode

More information about the discussion mailing list