공부방/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 이면 값을 바꾸지 않는다.