검색어 입력폼

디지털회로 실험 보고서 Datapath 코드(simple computer 일부), Registerfile, FunctionUnit등 이용

저작시기 2014.09 |등록일 2014.11.09 | 최종수정일 2016.11.10 한글파일한글 (hwp) | 11페이지 | 가격 1,000원

컴파일 실행환경

1. 실험제목
2. 실험목표
3. 실험결과
4. 토의

본문내용

2013.11.13. 실험 결과 및 코드.

module RegisterFile(CLK, Ddata, Write,
Daddr, Aaddr, Baddr, Adata, Bdata, Reg0,Reg1,Reg2,Reg3);

input CLK;
input [3:0] Ddata;
input [1:0] Daddr, Aaddr, Baddr;
input Write;

output [3:0] Adata;
output [3:0] Bdata;
output [3:0] Reg0, Reg1, Reg2, Reg3;

reg [3:0]Reg0,Reg1, Reg2, Reg3;
wire [3:0]Adata,Bdata;

wire D3,D2,D1,D0;
DECODER2to4 d1(Daddr[1],Daddr[0],D3,D2,D1,D0);

always@(posedge CLK)
begin
if(Write)
begin
if(D0)
Reg0<=Ddata;
if(D1)
Reg1<=Ddata;
if(D2)
Reg2<=Ddata;


가장 기본적으로, 컴퓨터의 레지스터 역할을 하는 RegisterFile의 소스이다.

input : CLK, Ddata, Daddr, Aaddr, Baddr, Write

CLK : 클락이다. 실제 레지스터는 D레치를 이용하므로, CLK에 동기화 되어있다.
Ddata : 넣어주는 데이터다. 이 값은, 먹스에 의해서, 외부에서 넣어주는 Data일 수도 있고, Datapath의 계산 결과로 나온 값일 수도 있다.
Daddr : 값을 넣어줄 레지스터를 선택하는 어드레스 값이다. 00 01 10 11 순서대로 R0 R1 R2 R3를 선택함을 의미한다.
Aaddr,Baddr : 레지스터의 값을 선택하는 주소이다. 00 01 10 11 순서대로 R0 R1 R2 R3값이 assign된다.
output : Adata, Bdata, Reg0~3

Adata, Bdata : Aaddr,Baddr에 의해 선택된 레지스터에 저장된 값이다.
Reg0~3 : 실제 Datapath에서 쓰이진 않지만

참고 자료

없음
다운로드 맨위로