The littlest CPU

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I may need to add a CPU to a design I am doing.  I had rolled my own
core once with a 16 bit data path and it worked out fairly well.  But
it was 600 LUT/FFs and I would like to use something smaller if
possible.  The target is a Lattice XP3 with about 3100 LUT/FFs and
about 2000 are currently used.  I believe that once I add the CPU
core, I can take out a lot of the logic since it runs so slowly.  The
fastest parallel data rate is 8 kHz with some at 1 kHz and the rest at
100 Hz.  I probably would have used a CPU to start with instead of the
FPGA, but there was a possible need to handle higher speed signals
which seems to have gone away.

I recall that someone had started a thread about serial
implementations of processors that were supported by a C compiler.  I
don't think any ever turned up.  But the OP had some other
requirements that may have excluded a few very small designs.  Are
there any CPU cores, serial or parallel, that are significantly
smaller than 600 LUT/FFs?  The Lattice part has LUT memory even dual
port, so that is not a constraint, the LUTs can be used for
registers.

Rick

Re: The littlest CPU
Quoted text here. Click to load it


The Xilinx PicoBlaze is less than 100 LUTs plus one block ram.
Someone has been working on a simple C compiler for the PicoBlaze, but
I have not tried it yet.  I have used the PicoBlaze in many projects
and I am quite happy with it.

I have not used it, but Lattice has the Micro8.  Have you looked at
it?  It has been mentioned here as the Lattice equivalent to the
PicoBlaze.

Regards,

John McCaskill
www.FasterTechnology.com

Re: The littlest CPU

Quoted text here. Click to load it

That should be less than 100 slices.

Regards,

John McCaskill

Re: The littlest CPU
If a 8 bits CPU is fine you may want to see my site. There is VHDL or
verilog design. For this CPU it is easy to find free or non free
tools. All is discussed in detail at:
http://bknpk.no-ip.biz/usb_1.html

"I used 8051 from http://www.cs.ucr.edu/~dalton/i8051/i8051syn . The
VHDL code has been translated to verilog to avoid mix languages
simulation. The cpu is also slightly modified to be able to use XILINX
memories: for ROM I use..."



On 19 D7%99D7%95D7%9CD7%99, 07:23, John McCaskill < snipped-for-privacy@gmail.co=
m> wrote:
Quoted text here. Click to load it


Re: The littlest CPU
Quoted text here. Click to load it

Still, that's 200 LUTs which is very small.  But I can't find a C
compiler for it.

Rick

Re: The littlest CPU
Quoted text here. Click to load it

im OP

hi I may have different interests, yes smallest nonserialized CPU
as for your current task is one of the wishes, and here also there
is no one definitive winner

pico paco blazes and mico8 are out of the question, most others
are too large

i have used cut AVR core in XP3 but i dont recall the lut count

Antti



Re: The littlest CPU
Quoted text here. Click to load it

Have you tabulated your findings anywhere?  The last time I did a
survey of ARM7 processors, I put it all into a spread sheet and posted
it on the web.  I think it was useful for a while, but the market
overtook it and I couldn't keep up!

I read your thread about the serial processor and it was interesting.
I think my project actually has the time to use such a processor, but
I think you never found one that met your requirements.

I am not looking for a large address space, but I would like for it to
be able to read data from an SD card.  My design uses FPGAs both on
the application board and the test fixture.  Ultimately I want the
test fixture to be able to read a programming file from an SD card and
configure the target FGPA without a programming cable.

Of all the suggestions, so far the PIC sounds like the best one.  I
couldn't find a C compiler for the picoblaze or the pacoblaze.  There
is mention of someone creating one, but the web site is no longer
accessible.

Rick

Re: The littlest CPU
Quoted text here. Click to load it

You can find a download link here :

http://www.asm.ro/fpga /

Disclaimer :   I never used it myself


Josep

Re: The littlest CPU
<Snip>
Quoted text here. Click to load it
<snip>
 > I read your thread about the serial processor and it was interesting.
Quoted text here. Click to load it

Related to this 'serial' processor design, (probably should be better
called 'most compact'?), I spotted a reference in a larger CPU released
recently, that mentioned it had Quad-SPI SRAM support - so it looks
like SRAM will soon be added to the already-available Quad-SPI FLASH
memory. (There is a 32K SPI SRAM out, but this is not quad)
  Such a device would also help those 'needing more SRAM' in their
FPGAs...

-jg


Re: The littlest CPU

Quoted text here. Click to load it

I would suggest you check out one of the many free PIC cores available on
the web. The reason for suggesting PIC is that it is accompanied by a
processional IDE from Microchip. Developing a processor is easy and the web
is full of wonderful and clever implementation but at the end of the day if
you have to develop some software you need a good IDE.

I just tried a quick push-button synthesis of a 16C54,

***********************************************
Device Utilization for LFXP3C/PQFP208
***********************************************
Resource                Used    Avail   Utilization
-----------------------------------------------
LUTs                    374     3072     12.17%
Flipflops               83      3072      2.70%
Block RAMs              0       6         0.00%
IOs                     67      136      49.26%
-----------------------------------------------

Hans
www.ht-lab.com



Quoted text here. Click to load it



Re: The littlest CPU
Quoted text here. Click to load it

Maybe something worth checking:

http://www.zylin.com/zpu.htm

 From the above website:

    1.   The ZPU is now open source. See ZPU mailing list for more details.
    2. BSD license for HDL implementations--no hiccups when using in
proprietary commercial products. Under the open source royalty free
license, there are no limits on what type of technology (FPGA,
anti-fuse, or ASIC) in which the ZPU can be implemented.
    3. GPL license for architecture, documentation and tools
    4. Completely FPGA brand and type neutral implementation
    5. 298 LUT @ 125 MHz after P&R with 16 bit datapath and 4kBytes BRAM
    6. 442 LUT @ 95 MHz after P&R with 32 bit datapath and 32kBytes BRAM
    7. Codesize 80% of ARM thumb
    8. Configurable 16/32 bit datapath
    9. GCC toolchain(GDB, newlib, libstdc++)
   10. Debugging via simulator or GDB stubs
   11. HDL simulation feedback to simulator for powerful profiling
capabilities
   12. Eclipse ZPU plug-in
   13. eCos embedded operating system support.



Henri

Re: The littlest CPU
Quoted text here. Click to load it

eh this is still on my MUST evaluate plan :)

80% of THUMB? that nice also, i just made my first THUMB assembly
program
Atmel dataflash bootstrap loader, its about 60 bytes of code (thumb)
would be fun to compare if that optimized to max thumb code still
compacts on zpu :)
my code is really funky it loads 1 32 bit constant and constructs all
other constants, also uses lower port of io address as mask constant,
etc..

Antti





Re: The littlest CPU
Quoted text here. Click to load it

I'm pretty impressed.  Small, fast and with GCC support!

Rick

Site Timeline