a simple CPU Design with some basic operations

V

vhdl_addicted

Guest
Hi,

I would like to design my own first simplest CPU with VHDL codes. I
studied parts of a CPU on some books as Accumulator, Registers,
Memory, Control Unit. I have some questions to get answered:

----I want to make a 16-bit simple CPU. I want to multiply 2 numbers
(result= 3x5) by calling them from memory in my CPU. I will calculate
the result in ALU (arightmetic logic unit) as I consider. Then I want
to see the result on the CLK pulse screen in Multisim. But can you
give me a hint how to start in my architecture? How can I call
accumulator, multiplication, ALU and memory in my codes?

-how can i store 3 and 5 in my memory?
-what codes are used to call and multiply them in ALU?
-how can i carry my result to screen?

Thanks in advance,
 
vhdl_addicted wrote:
Hi,

I would like to design my own first simplest CPU with VHDL codes.
I would consider something like this:
http://www.oxfordbromley.plus.com/files/miniCPU/arch.pdf

Google for examples.
Every text book has one.


-- Mike Treseler
 
On Fri, 24 Apr 2009 04:23:01 -0700 (PDT), vhdl_addicted wrote:

problem is how to design the datapath between Accumulator, control
unit, Arithmetic logic unit and so on... I dont know how to drop them
into VHDL codes. It might take time, but it will be worthy.
Have a look around on opencores.org; there are plenty
of CPU designs there. But I fear you will not find a simple,
clear explanation of what to do. Indeed, the document Mike
linked for you was my response to the poor standard of
documentation of many of the opencores CPUs!

As Mike said, look at a digital design textbook - they
often have CPU designs. "Design Recipes for FPGAs" by
Wilson has one, for example.
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
 
On Apr 23, 9:34 pm, Mike Treseler <mtrese...@gmail.com> wrote:
vhdl_addicted wrote:
Hi,

I would like to design my own first simplest CPU with VHDL codes.

I would consider something like this:http://www.oxfordbromley.plus.com/files/miniCPU/arch.pdf

Google for examples.
Every text book has one.

       -- Mike Treseler



I needed a document about VHDL and cpu design with a good explanation.
I guess it will help me out. Thanks a lot for your help. The only
problem is how to design the datapath between Accumulator, control
unit, Arithmetic logic unit and so on... I dont know how to drop them
into VHDL codes. It might take time, but it will be worthy.
 
On 23 Apr, 19:34, Mike Treseler <mtrese...@gmail.com> wrote:
vhdl_addicted wrote:
Hi,

I would like to design my own first simplest CPU with VHDL codes.

I would consider something like this:http://www.oxfordbromley.plus.com/files/miniCPU/arch.pdf

Google for examples.
Every text book has one.

       -- Mike Treseler
Not a bad little design. It does worry me some as he wants to multiply
as his first operation. Doing the bus routing is a matter of case/when
assignments on various decoded signals from opcodes fields. Designing
the instruction set architecture is the hardest part. Making it too
complex leads to an un-simple CPU, making it too simple can lead to
dificult use or lack of turing completeness.

Working out which routing choices are best can be done after you have
designed the sub-units such as the ALU. You must decide how many
operations the ALU will have, as a trade off between size, speed and
logic utility per cycle (Computational Use Density).

cheers jacko

http://nibz.googlecode.com
 

Welcome to EDABoard.com

Sponsor

Back
Top