Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > The littlest CPU

Reply
Thread Tools

The littlest CPU

 
 
rickman
Guest
Posts: n/a
 
      07-19-2008
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
 
Reply With Quote
 
 
 
 
John McCaskill
Guest
Posts: n/a
 
      07-19-2008
On Jul 18, 10:07*pm, rickman <gnu...@gmail.com> wrote:
> 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



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
 
Reply With Quote
 
 
 
 
John McCaskill
Guest
Posts: n/a
 
      07-19-2008
On Jul 18, 11:09*pm, John McCaskill <jhmccask...@gmail.com> wrote:

>
> The Xilinx PicoBlaze is less than 100 LUTs plus one block ram.


That should be less than 100 slices.

Regards,

John McCaskill
 
Reply With Quote
 
beky4kr@gmail.com
Guest
Posts: n/a
 
      07-19-2008
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 יולי, 07:23, John McCaskill <jhmccask...@gmail.com> wrote:
> On Jul 18, 11:09 pm, John McCaskill <jhmccask...@gmail.com> wrote:
>
>
>
> > The Xilinx PicoBlaze is less than 100 LUTs plus one block ram.

>
> That should be less than 100 slices.
>
> Regards,
>
> John McCaskill


 
Reply With Quote
 
Antti
Guest
Posts: n/a
 
      07-19-2008
On 19 juuli, 06:07, rickman <gnu...@gmail.com> wrote:
> 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


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


 
Reply With Quote
 
HT-Lab
Guest
Posts: n/a
 
      07-19-2008

"rickman" <> wrote in message
news:d9ecb5e5-5712-4430-8156-...
>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?


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



> The Lattice part has LUT memory even dual
> port, so that is not a constraint, the LUTs can be used for
> registers.
>
> Rick



 
Reply With Quote
 
jeppe jeppe is offline
Senior Member
Join Date: Mar 2008
Location: Denmark
Posts: 346
 
      07-19-2008
This one "little" but - too bad not very useful:
http://www.jjmk.dk/MMMI/Lessons/08_CPUs/Gnome/index.htm
Your welcome
Jeppe
 
Reply With Quote
 
tanukichu tanukichu is offline
Junior Member
Join Date: Mar 2008
Posts: 6
 
      07-19-2008
if you need a very small cpu you could try Quattro
http://gle-mips.googlecode.com/files...ro-1.0.tar.bz2

it's a 4-bit processor, with instructions encoded in 8 bits
it has add, sub, mul, jmp, ld/st operations and a small cache
runs at 120MHz, on a spartan3

hope it's useful
bye
Koda
 
Reply With Quote
 
rickman
Guest
Posts: n/a
 
      07-20-2008
On Jul 19, 2:57 am, Antti <Antti.Luk...@googlemail.com> wrote:
> On 19 juuli, 06:07, rickman <gnu...@gmail.com> wrote:
>
>
>
> > 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

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


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
 
Reply With Quote
 
rickman
Guest
Posts: n/a
 
      07-20-2008
On Jul 19, 12:23 am, John McCaskill <jhmccask...@gmail.com> wrote:
> On Jul 18, 11:09 pm, John McCaskill <jhmccask...@gmail.com> wrote:
>
>
>
> > The Xilinx PicoBlaze is less than 100 LUTs plus one block ram.

>
> That should be less than 100 slices.


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

Rick
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
How CPU Features Affect CPU Performance Ian Front Page News 0 02-18-2010 03:28 PM
How , system cpu and user cpu times calculates pavunkumar C Programming 1 02-27-2009 08:29 AM
HELP! Trying to understand the logic behind CPU core speeds and whole CPU speed. dimon Computer Support 4 11-10-2006 04:01 PM
Arctic Cooling Silencer 64 Ultra CPU Cooler Review Silverstrand Front Page News 0 06-24-2005 09:34 PM
Pentium CPU vs Intel Celeron CPU and the Wireless Mouse kirk lives! Computer Support 4 05-02-2004 06:59 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57