Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

design idea for micro controller

Status
Not open for further replies.

Parth86

Member
I am student I am planning to design 8 bit controller on computer but solid confused where to start I have little knowledge about controller
micro controller
cpu + memory
where cpu make with alu and control unit
cpu=alu + control unit
ALU =arithmetic + logic unit
airthmetic= adder+sub+mult+divider
logic unit= and gate , or gate , nand gate and so on...
and above all make with transistor and other.......

now I know how controller make but I don't have idea how to arrange the all part of controller example I know I want to make 8 bit controller but don't know following

1) how many bit are required to make CPU
2) how many bit are required to make ALU
3) how many bit are required to make decoder

I just want to hint how to decide bit for every part of controller
 
If you are making a 8 bit controller than the CPU should be 8 bits wide. The ALU should be 8 bits and the decoder......why not 8 bits.
 
Normally yes.
There are examples where the data path and the instructions path are different sizes.
They do not have to be the same. or even the same memory.
There are parts where the data memory and the instruction memory are separate.

For a class project you could build a computer where the data is 8 bit but only have 16 instructions so you only need 4 bit instruction memory, and 4 bit instruction decoder.
 
Normally yes.
There are examples where the data path and the instructions path are different sizes.
They do not have to be the same. or even the same memory.
There are parts where the data memory and the instruction memory are separate.

.
what do you mean by data path and instruction path i think you are saying about data bus and address bus
 
For a class project you could build a computer where the data is 8 bit but only have 16 instructions so you only need 4 bit instruction memory, and 4 bit instruction decoder.
I did not understood what you mean can you explain in terms of 8 bit micro controller
 
"8 bit micro controller" what does this really mean.
Usually the data path is 8 bit and the instructions are 8 bit.
BUT
There are 8 bit pars with:
PIC10xxx and PIC12xxx parts have 12 bit instructions.
PIC12xxx and PIC16xxx parts have 14 bit instructions.
PIC18Fxxxx parts have 16 bit instructions.
The data is only 8 bit!
 
Back in college, I sort of did just that as part of a team. We made a computer about the time the 8008 and 4004 came out, so a long time ago. The instruction set was
microcoded" as was essentially 16 bits wide by 16 words long. The "program" could sort 4 bit numbers in ascending or descending order depending on the "program". The project was fun.
 
"8 bit micro controller" what does this really mean.
Usually the data path is 8 bit and the instructions are 8 bit.
BUT
There are 8 bit pars with:
PIC10xxx and PIC12xxx parts have 12 bit instructions.
PIC12xxx and PIC16xxx parts have 14 bit instructions.
PIC18Fxxxx parts have 16 bit instructions.
The data is only 8 bit!
ok please check out it
micro controller specification
micro controller 8 bit
CPU 8 bit
ALU 8 bit
DECODER 8 bit
INSTRUCTION MEMORY 16 bit

IS it correct ?

1) what does it mean data is 8 bit
 
what does it mean data is 8 bit
Your CPU has two jobe.
1) get instructions, In your case 16 ibts
2) it can do some thing to data. (a+b) or (A-B) or (shift left), this data is 8 bits long.
 
Your CPU has two jobe.
1) get instructions, In your case 16 ibts
2) it can do some thing to data. (a+b) or (A-B) or (shift left), this data is 8 bits long.
that means it can be done 256 operations ( arithmetic like add subtract multiply divide increment decrement ... and logical operation AND NOT OR NAND NOR NOT XOR XNOR )

and also see my specification is it correct?
 
If the instruction is 8 bit it can do 256 different things like NOT, OR, AND, etc. It the instruction is 16 bit it can do 64000.

It is typical for there to be some bits to say what instruction and some to say where.
example: Bits 7,6,5,4 give 16 operations like like AND. Bits 3,2,1,0 give a location. A, B, C, D,......
Instruction AND R,B OR R,C <instruction><Address>
With a 8 bit instruction you do not have much room for address so usually you have a operation, address and the results must go to the "register".
If you chose a longer instruction then you can have 8 bits for instruction and <address1><address2>. This way you can have <AND><D><E>.

I think you should get the data sheet for a 8051 or a PIC16F64 and look at their instructions. Also look at memory and registers. Some parts like 6805 have memory mapped registers while most have registers that are different than memory. The AVR parts are also good to look at. Do not start out looking at a ARM. They are very complicated.
 
If the instruction is 8 bit it can do 256 different things like NOT, OR, AND, etc. It the instruction is 16 bit it can do 64000.

It is typical for there to be some bits to say what instruction and some to say where.
example: Bits 7,6,5,4 give 16 operations like like AND. Bits 3,2,1,0 give a location. A, B, C, D,......
Instruction AND R,B OR R,C <instruction><Address>
With a 8 bit instruction you do not have much room for address so usually you have a operation, address and the results must go to the "register".
If you chose a longer instruction then you can have 8 bits for instruction and <address1><address2>. This way you can have <AND><D><E>.

I think you should get the data sheet for a 8051 or a PIC16F64 and look at their instructions. Also look at memory and registers. Some parts like 6805 have memory mapped registers while most have registers that are different than memory. The AVR parts are also good to look at. Do not start out looking at a ARM. They are very complicated.
ok thanks I understood the concept of 8 bit and 16 bit I want to start next step Now i know my controller and cpu is 8 bit ok i know cpu make with alu and control unit so i want to implement 8 bit ALU . ALU perform arithmetic and logical operations. 256 operation can be perform on two 4 bit word decode 256 operation how many control bit are required
 
I'm just curious. Are you writing a program to emulate the microcontroller or are you designing a microchip that could then be built?
 
I'm just curious. Are you writing a program to emulate the microcontroller or are you designing a microchip that could then be built?
I want to write verilog code to implement micro controller then want to use this chip in embedded system
 
Soon you will need a compiler to write code for your embedded micro controller.
If you make a micro that used the same instructions as a part now in production, then you can get a good compiler and other software tools.
 
There has been several university projects to make a FPGA of the 8051 or 6502. I think with some internet searching you might find one.
The new FPGAs with RAM blocks will make this much better than the old methods.
 
Soon you will need a compiler to write code for your embedded micro controller.
If you make a micro that used the same instructions as a part now in production, then you can get a good compiler and other software tools.
I agree with you but its very tough project i couldn't decide how to start
 
1) You can start from zero and make something new. How do you know if it will do the job.
2) You can copy the 8051 or 8052 and know it is doing many jobs now.
3) You can make a option 1.5 that is partly 8051 and part from your head.

Look at the 8051 instructions set. Can you make a machine that will do some of these functions?
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top