fpga4fun.com - where FPGAs are fun.
Home
Welcome
Information


FPGA projects
Music box
Pong game
R/C servos
Text LCD module
Quadrature decoder
PWM and one-bit DAC
Debouncer
LED displays
Crossing clock domains
External contributions

FPGA interface projects
RS-232
JTAG
I2C
EPP
SPI
CNC steppers

FPGA advanced projects
Graphic LCD panel
Digital oscilloscope
10BASE-T interface
PCI interface
Spoc CPU core

Hands-on
A simple oscilloscope


FPGA introduction
What are FPGAs?
How FPGAs work
FPGA pins
Clocks and global lines
Download cables
Configuration
Learn more

FPGA software
Design software
Pin assignment
Design-entry/HDL
Simulation/HDL
Synthesis and P&R

FPGA electronic
SMD technology
Crystals and oscillators

HDL info
HDL tutorials
Verilog tips
VHDL tips

Quick-start guides
ISE
Quartus

Site
News
FPGA links
HDL tutorials
Forum


Spoc main characteristics

Spoc was designed to be almost free, i.e. to consume little space in the FPGA, and to execute from a serial flash memory. Many new FPGA boards have a serial flash already used to configure the FPGA. Spoc can use the unused memory space of the Flash as code memory.
Spoc0
Spoc can be parameterized.
For now, the first implementation, "Spoc0", is not.

Spoc0 has the following fixed characteristics:
How fast is Spoc0?

Of course, that dependends of your clock speed and what type of instructions you are running... but even at 100MHz, Spoc0 is probably slower than other available CPUs.

CPUSize (1)Clock speed (1)MIPStargetNative data sizes
Spoc0175 slices/300 LEs100MHz2 to 5 (estimated)Any FPGA/ASIC1, 8, 16 and 32 bits
Microblaze1000 LEs ???Xilinx FPGA32 bits
Picoblaze100 slices ???Xilinx FPGA8 bits
Nios II700 LEs ???Altera FPGA32 bits
........
(1) Xilinx Spartan 3 or Altera Cyclone 2, slowest speed grades
Note: table provided without any guaranty of accuracy or fairness (comparing different CPUs fairly is difficult)

While designing Spoc0, the goal was not to get the fastest possible CPU, but a small (low logic-usage) CPU efficiently targeted for today's FPGAs (and ASICs).
In the CPU world, speed and logic usage goes in pair. Fast CPUs use inherently wide buses - which increase their logic usage. Spoc0 takes the opposite approach and trades bus width to clock cycles. In other words, Spoc0 serializes many of its tasks (it uses more clock cycles per instructions) but stays slim. In the future, some tasks could be optionally parallelized - at the cost of a higher logic usage.



>>> NEXT: Spoc programmer's model >>>



This page was last updated on October 22 2005.