You are on page 1of 4

&

: H 312

2012



1. .
2.
.
3. .

non-pipelined extended
ECHARIS-1 (Extended CHAnia Risc
Instruction Set, 1), :
Custom :
Negative (neg $rt, $rs)
Rotation left/right (rot $rd, $rs, $rt, Imm)
Multiply (mul $rd, $rs, $rt)
Multiply and Accumulate (mac $rd, $rs, $rt, Imm)
Branch Equal Memory (beqm $rt, $rs, Imm)

formats:
R-type:
6-bit
Opcode

5-bit
Rs

5-bit
Rt

5-bit
Rs

5-bit
Rt

5-bit
Rd

5-bit
not-used

I-type:
6-bit
opcode

16-bit
Immediate

6-bit
funct

J-type:
6-bit
opcode

26-bit
Disp

Custom-type:
6-bit
Opcode

5-bit
Rs

5-bit
Rt

5-bit
Rd

11-bit
Immediate

byte,
4 Bytes.

:
Opcode
111000
111100

FUNC
-

Negative

RF[rt]  (not RF[rs]) + 1


If (RF[rs] == 0) //right rotation
RF[rd] = Rotate RF[rt] for SignExtend(Immed) positions
Else //left rotation
RF[rd] = Rotate RF[rt] for SignExtend(Immed) positions
( 1)
RF[rd]  RF[rs] * RF[rt]
RF[rd]  RF[rs]*RF[rt] + SignExtend(Immed)

Rotation
left/right
111110
101010

010101

Multiply
Multiply and
Accumulate

If (Mem[RF[rs]] == Mem[RF[rt]])
PC  PC + 4 + (SignExtend(Immed) << 2)
Else
PC  PC + 4

Branch
Equal
Memory

1 right/left rotation. Rotation


left/right
Immed .

(1)

(2)

1: rotation right(1) rotation left(2)

. custom
format
.

. CHARIS
1. datapath CHARIS-1
datapath 5 ( )
.
!!! datapath components
.
!!! Multiply Multiply and Accumulate
ALU
( ALU
add not).

2. control CHARIS-1
Control
custom .
, datapath ECHARIS-1 control
.

1. VHDL datapath CHARIS


custom .
2. , datapath (,
, .).
3. VHDL
CHARIS :
Extended_control.vhd
4. o datapath CONTROL
. :
CHARIS.vhd
5.

FSM.
6.
- ( ).
7.
IMEM.

1. VHDL ().
2. control
.
3. datapath .

4. ( ).
5. (

).

You might also like