공부방/Verilog_vivado

CPU_설계 첫걸음.SV Register File & ALU

맘스터치보단파파이스 2024. 5. 30. 08:38

초기값은 R0 = 0 고정된 값으로 시작했다.

 

1. C

2. HW DataPath

3. ASM control Unit

4. Control Signal Truth Table 과정을 통해 설계한다.

이 과정에서 While( i < 10 ) 부분이 + - & |  연산이 가능한 ALU로 바뀌어서 설계되었다.

상단에 있던 Register가 Fegister File로 바뀌면서 RD1 , RD2를 선택해 ALU 연산이 가능하다.

Datapath를 통한 코드와 Control Signal Truth Table을 통해 만들어진 Control Unit을 통해 회로가 완성된다.

 

MuxSel (WD, Write Data): 0 --> ALU_OUT 값을 받아온다. 1: 1을 받아온다.

WA[ ] (Write Address) :  R[ ] 값을 불러온다.

Ra1 ,2 (Reda Address) :는 어떤 RD 1,2 값으로 보낼지 정한다.

Register는 계속 Ra1 ,Ra2값을 RD1 , RD2 값으로 출력하기 때문에 Ra1,2에 값을 새로 Write만 해주면 출력은 자동으로 변경되어 나간다.

Alu OP :  ALU 기능 선택.

Oload : OutPort로 값 출력.

We (Write Enable) :  1 이면 WA로 선택된 값이 바뀐다. 0 이면 값을 바꾸지 않는다.