[Milkymist-devel] Single-Thread AEMB

Shawn Tan shawn.tan at aeste.net
Wed Jun 3 09:13:07 PDT 2009


On Wednesday 03 June 2009 01:26:31 am Sébastien Bourdeauducq wrote:
> 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.

Hehe. While it's nice to have goals, let's not get ahead of ourselves here. (= 
I'd certainly like to see the AEMB become a ultra-configurable processor core. 
However, I'm conscious that it will take a lot of participation and effort! d=

As you can tell from my AEMB blog, I have also been considering some other 
random ideas. However, I'd like to stress that it is important to keep the 
AEMB core small (from an FPGA resource perspective).

> 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).

On the software side, we all agree that a cycle accurate simulator would be 
useful. Thanks for volunteering! d= 

> 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).

Incidentally, the GNU Radio guys would like to have an improved single-
threaded device as well. They're currently using the EDK3.2 version of the 
core.

Give me a few days to digest the information and think of a plan.

-- 
with metta,
Shawn Tan.


More information about the Devel mailing list