[Milkymist-devel] Single-Thread AEMB
Sébastien Bourdeauducq
sebastien.bourdeauducq at lekernel.net
Tue Jun 2 10:26:31 PDT 2009
Hi,
On Tuesday 02 June 2009 17.46.15 Shawn Tan wrote:
> I think that having a software simulator might be a good idea. It could
> also be helpful with development/debugging work. You guys have any ideas on
> writing one? I've never written a software CPU simulator before.
Well, for a cycle-accurate simulator it's just like RTL, only you don't care
about area, timing and I/O :o)
For an example simulator, you can check out http://www.simplescalar.com/. I
don't know if there are free equivalents, but I have not searched a lot.
I'm thinking that if we could have a panel of different AEMB cores with
various options :
* multiple-way, configurable data and instruction caches
* branch predictors (several types)
* fine-grained HW multi-threading
* dynamic out-of-order execution (Tomasulo scheduling)
* superscalar pipeline (though I'm not sure this would play well with current
FPGA architectures which do not like high-ported memories and big
combinatorial functions)
* etc.
and if the choice of such options could be backed by accurate simulations of
the actual application, and based on performance, real-time, portability, area
and power constraints ; then we'd have a development environment that has, for
me, technically little to envy to those of expensive IP companies.
I'm definitely willing to contribute to such a project (writing the simulator
for example). However, a complete usable thing will probably take several
months, and I would like a short term solution to the current problems in
Milkymist (HSF is in 24 days, HAR in 2 months, and it would be really cool if
I could show some real MilkDrop presets, and maybe even a running ucLinux).
That's why I'm quite inclined to make more experiments with Mico32 for now,
and switch back to AEMB after a while (probably as soon as it has single
threaded execution and a data cache).
Sébastien
More information about the Devel
mailing list