Professional Documents
Culture Documents
AND
GREETING TO
ALL
RESPECTED
FACULTY
JAGANNATH UNIVERSITY
SIX MONTH INDUSTRIAL TRAINING
IN
ABOUT
1. BPO Services
2. Technical Services Operation
3. E-Business Application Development
4. Enterprise Application Development
5. Database/Open-Source Linux Consulting
6. Software Products Development and Support
INDUSTRIAL PROJECT
LINUX
ARM7-TDMI BASIC
PIC
MICROCONTROLLE
R
8051 FAMILY
DATA
STRUCTU
RE
C
LAND
UAGE
NOW, WE WILL CONTINUE TO MAJOR PROJECT
8-BIT RISC MICROPROCESSOR USING VERILOG
BY
ASHISH TOMAR
UNDER SUPERVSION
ARPAN SHAH
JAGANNATH UNIVERSITY
What is RISC ?
Or
2) Load/Store Architecture
simpler to design means that they have more time for adding
other things (things that can make the processor do more in
each cycle)
more design time also means that you can tune the processor
more to get more MHz (more cycles) and many other
effects
What’s an FPGA?
FPGA – FIELD PROGRAMMABLE GATE ARRAY
Field Programmable Gate Arrays
FPGA
Standard
ASIC
Logic
All examples and code from Mano “Digital Design” 3rd Ed.
Example: Simple Circuit HDL
module smpl_circuit(A,B,C,x,y);
input A,B,C;
output x,y;
wire e;
and g1(e,A,B);
not g2(y, C);
or g3(x,e,y);
endmodule
FUNCTIONAL DESCRIPTION
OF 8 BIT RISC PROCESSOR
8 8
ARITHMETIC UNIT
Result_au S C Z
FUNCTIONALITY OF ARITHMETHIC UNIT
1. INC: The 2nd input to the adder is 0 and Cin is high, so the result comes out
to be source +1
2. DEC: The 2nd input is Zero, Sub is high and Cin is low, the result is source +
1’s complement of 0 i.e. 1111_1111 which is also the 2’s complement of 1. So
the result comes out to be source – 1
3. ADD: Cin and Sub both are low, so the 2nd input i.e. A, is passed as it is. The
result comes out to be source + contents of register A.
4. SUB: Cin and Sub both are high, so the 2nd input i.e. A, is converted to its 2’s
complement form i.e. its negative value. The result comes out to be source -
contents of register A.
5.CMP: Its functionality is exactly the same as Sub, the only difference being
that the result in this case is not stored in any register.
This unit performs three instructions:
q14
1. JMP immediate offset
16
2. JZ immediate offset CD
3. JMPCD 16
rst PROGRAM S4
COUNTER 0
clk
I[9:2]
8
8 0000-
16 16-BIT ADDER 0001
INSTRUCTION DECODER
This unit is used to identity the instruction being executed. The
input to this unit is the op-code part of the instruction which comes
from the instruction register. Output of this unit is a 14-bit port
where each bit represents one of the 14 instructions. All the
instructions have different operation codes, so at time only one of
the 14 bits will be high in the output
RISC – CONTROL UNIT
Control unit generates many control
signals required by different
modules and the top level entity.
The inputs to the control unit are
Decoded Instructions from the
instruction decoder and the values
of the flags. The output is many
control signals.
RISC – DATA AND PROGRAM
MEMORY
DATA MEMORY
The data memory is a block RAM of size 65kbytes. The data memory
has a synchronous write and asynchronous read. The address lines for it
comes from the concatenation of the contents of the registers C & D.
The data line for the memory is bidirectional. Write and Read
operations are controlled by the wr_data and rd_data signals generated
by the control unit.
PROGRAM MEMORY
The program memory is a block RAM with 65536 locations and 11 bits
per location. This stores the instructions to be executed by the processor.
Read operation is asynchronous. The address line for the program
memory comes from the 16-bit program counter.
Summary
Programmable Logic Devices
Basics
Evolution
Design Flow
Hardware Description Languages
Design Tools
Trends