« visual commitment | Main | Git - version control done right »

June 20, 2008

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00e54efca38e883400e55364750c8833

Listed below are links to weblogs that reference a somewhat crazy notion:

Comments

Shepard Siegel

Python for hardware design expression is not /that/ crazy. Dillon Engineering presented their approach at HPEC last year; and were giving out free O'reilly Python Pocket Refs to keep us thinking about it. Me, I'm much more comfortable with Bluespec for design expression where h/w the uArchitecture trade-space must move fast-and-furious. What would be interesting is exploring hw/sw co-design in a platform merging Python and Bluespec SystemVerilog. Fun for sure. -Shep

kevin johnston

Perhaps I've gotten the wrong interpretation of your aspirations, but my advice is "Go RISC, young man". The "minimalCPU", and even the Z80, just won't scale up to any non-trivial exercise.

Unless you go to a Load/Store instruction set, there won't be any need to crack open the Hennessy&Patterson at all. Much of the fun stuff (hazards, branch penalty) surrounds the pipeline, and pipelining a Memory Operand instruction set is painful. Not ridiculously hard, but pointlessly hard. And using an Accumulator architecture is nailing one foot to the floor before you even start. Nor can I see any chance to explore cache or virtual memory with a 64 byte address space.

GordonMcGregor

Hi Kevin, thanks for commenting. I pretty much agree with your assessment of this. The M-CPU was just the simplest example that I could try out a few ideas with quickly. I can make an ISS, write the assembler, run it through FPGA tools etc, very quickly to work out which flow makes sense.

A load/store sort of architecture was what I was really thinking about doing for the real thing, for many of the reasons you mentioned.

Gordon McGregor

Hi Shepard,

Thanks for the comments and pointer towards Dillon Engineering. I've been looking in to the various options for Python design and verification. I tend to see it as being more useful for writing verification code than really true HDL replacement, so I suspect the path you mentioned (Python + SystemVerilog) could well be a fruitful direction to go in.

Jan

Hi,

Could this be not something to play with?
http://archc.sourceforge.net/
It's a sort of SystemC language to build and play with processor models.
The presentation a long time ago at the DATE in Paris was nice.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

My Photo

subscribe

  • Email subscribtion

    Enter your email address:

    Delivered by FeedBurner