상세 컨텐츠

본문 제목

Digital Logic Enhanced Processor(instruction add Branch)

설계공부/Advance Verliog

by 썽심 2024. 1. 1. 23:55

본문

728x90

16 BIT_RISC Processor CPU 설계

11.27~01.05

 

12.29

 

branch instruction을 추가하여

불필요한 동작들을 뛰어 넘도록 했다.

 

branch instruction은 b / bne / beq / bcc / bcs 총 5가지 instruction을 추가하여 만들었다.

 

 

 

R0 2를 세팅 한 뒤 비교

2 – n = 0 이면 branch 통해 점프

아니면 계속 counting

 

Dead가 아닌 T2로 점프 된다.

R0 1을 하는 순간

10000이 되면서 CARRY가 된다.

 

만약 CARRY SET이 되어 있으면  bcc

 

아니면 DEAD로 간다.

 

그렇게 해서

CARRY하고 ZERO 두 캐리를 만들어야 한다.

 

SUM1BIT 늘려준다.

15:00 이 아닌

16:00으로 만들어 줘야 한다.

 

플레그를 두개를 만들어야함

케리 셋 이퀄 / 낫 이퀄

 

SUM[16:0] = CARRY

 

리덕션한 값이 0 이면 0

SUM값을 비교하여 bcc와 bcs 두 가지 instruction을 만들어 동작 되게 하였다.

 

 

SEG_7부분 가져옴

 

Proc

Branch state를 뛰어 넘는 용도로 사용 됨

또한

 

Part5에서는 Branch에서 움직이는

state5개가 추가됐다.

(III) 값에 따라 5가지로 분류하였다.

B / beq  / bne / bcc / bcs

 

b000일 때

아무런 동작 없이 그 다음 state로 넘어감

 

beq001일 때

바로 전 연산 값이 0000일 때 beq값을 받고

지정된 주소에 값을 0001 넣어준 후 state 넘어감

 

bne010일 때

바로 전 연산 값이 0000이 아닐 때 bne값을 받고 지정된 주소 값에 0005를 넣어 준 후 state 넘어감

 

bcc011일 때

DX9 DATA값에 17번째 BIT를 봐서 0이면

CARRY CLEAR 발생 이후 해당 주소 값에

0009를 넣고 다음 STATE 진행

 

bcs100일 때 이며,

DX9 DATA값에 17번째 BIT를 봐서 1이면

해당 주소 값에 000c를 넣고 다음 STATE 진행

 

Wire를 통해

Beq, bne / bcc, bcs 2가지 플래그인 z c를 선언 해주었다.

 

Assign을 통해 cond 라는 (III)상태를 확인하는 변수를 선언하여 상태를 확인해준다.

 

Dec3to8decb선언해서 b~bcs를 통해 받는

pc값의 데이터 자리 수를 맞춰 줌

 

 

WIRE Z에서 G에서 보는 이유 SUM값은 저장이 불가능 계속 지워 짐

그래서 바로 밑인 G값에서 값을 비교하는 것!

 

 

파라미터를 선언하여

Branch 값을 나타내주었고,

 

III(000~100) 값에 따라  알맞는 변수가 되도록 설정했다.

 

Sel_D : 16비트를 맞춰준 값

DATA 9자리를 불러온 뒤 앞에 0000000 7BIT를 붙여 16BIT 자리를 만들어 줬다.

 

 

STATE T1~T2 / T4~T5 PART4까지와 동일,

 

기존 STATET3BRANCH STATE를 추가

 

? DATA_SHEET를 보면 T3 에서만 STATE가 돌고있음

 

만약 condb라면 selsel_d선택

Rinbreg값 넣어줌

그러고 종료 >> 다음 state

 

다음 condbeq sel값을 sel_d를 선택하게 해서 비교를 함, data z를 만족하는지 확인

 

만족하면 Rin에 선택된 값인 breg 넣어

 

다음 state 넘어가

 

Condbne라면 selsel_d를 넣어 비교할 수 있도록 해, 만약 z 조건을 충족하지 않는다면,

Rinbreg를 넣음

 

Bcs도 마찬가지로 선택 후, 비교

비교해서 맞으면 주소에 data넣는

 

simulation

 

728x90

관련글 더보기