목차
① General Purpose Register File의 시뮬레이션 결과
① SR Latch(with clock)의 설계
② D Flip-Flop의 설계
③ General Purpose Register File(1 port)의 설계
① SR Latch(with clock)의 설계
② D Flip-Flop의 설계
③ General Purpose Register File(1 port)의 설계
본문내용
clock을 결정해야 한다.
여기까지가 첫 번째 combinational logic 부분이다.
다음은 sequential logic이다. 이 부분은 16개의 register로 이루어진다.
register의 코딩 소스는 왼쪽과 같다. 공간 절약을 위해 구성 형식이 동일한 중간 부분을 줄임표로 나타내었다.
2to1 MUX를 이용하여 'q'의 각 bit와 'd'의 각 bit을 선택한다.
여기서 select bit은, 외부 모듈에서 regclk'num'으로 할당하였던 각 register의 clock 값으로 할당된다.
다음은 외부 모듈 자체의 'clk'과 'reset'(여기서도 포트명은 동일하다), 그리고 위의 MUX에서 선택된 결과값을 D flip-flop으로 통과시켜 결과값 Q와 Q'를 얻는다.
하나의 register는 32bit이므로, 32개의 D flip-flop이 필요하다.
위의 register를 16번 부르면 sequential logic이 완성된다.
다음은 두 번째 combinational logic이다. 이는 32bit 16to1 MUX만으로 간단하게 설계된다.
각 register에서 출력된 결과값들을 불러오는 과정이다. read port의 번호를 결정하는 'radd2'가 이
MUX의 select bit이 된다. 여기서 선택된 값을 read port의 데이터를 나타내는 'rdata2'에 저장하면, 시뮬레이션 결과로 앞에서 저장된 해당 register의 'wdata2'의 값이 'rdata2'로 나타나게 된다.
테스트벤치 파일의 코딩 소스는 다음과 같다.
clock의 설정과, 첫 부분 reset의 설정은 실험시 주어졌던 D flip-flop의 테스트벤치 파일과 동일하게 구성하였다.
먼저 data를 write해야 하므로 enable 신호인
write2를 1로 설정한다.
첫 번째 for문을 살펴보면,
일 때 임을 확인할 수 있다.
write가 끝나면, read가 이루어져야 하므로
enable 신호인 write2를 0으로 설정한다.
두 번째 for문에서는로 설정하였다. 따라서 i가 증가함에 따라 각 register에 저장된 wdata2의 값이 차례로 출력된다.
시뮬레이션 결과는 첫 페이지에 나타내었다. 정확한 연산이 이루어지고 있음을 확인할 수 있다.
이로써 1 port General Purpose Register File의 설계가 완료되었다.
여기까지가 첫 번째 combinational logic 부분이다.
다음은 sequential logic이다. 이 부분은 16개의 register로 이루어진다.
register의 코딩 소스는 왼쪽과 같다. 공간 절약을 위해 구성 형식이 동일한 중간 부분을 줄임표로 나타내었다.
2to1 MUX를 이용하여 'q'의 각 bit와 'd'의 각 bit을 선택한다.
여기서 select bit은, 외부 모듈에서 regclk'num'으로 할당하였던 각 register의 clock 값으로 할당된다.
다음은 외부 모듈 자체의 'clk'과 'reset'(여기서도 포트명은 동일하다), 그리고 위의 MUX에서 선택된 결과값을 D flip-flop으로 통과시켜 결과값 Q와 Q'를 얻는다.
하나의 register는 32bit이므로, 32개의 D flip-flop이 필요하다.
위의 register를 16번 부르면 sequential logic이 완성된다.
다음은 두 번째 combinational logic이다. 이는 32bit 16to1 MUX만으로 간단하게 설계된다.
각 register에서 출력된 결과값들을 불러오는 과정이다. read port의 번호를 결정하는 'radd2'가 이
MUX의 select bit이 된다. 여기서 선택된 값을 read port의 데이터를 나타내는 'rdata2'에 저장하면, 시뮬레이션 결과로 앞에서 저장된 해당 register의 'wdata2'의 값이 'rdata2'로 나타나게 된다.
테스트벤치 파일의 코딩 소스는 다음과 같다.
clock의 설정과, 첫 부분 reset의 설정은 실험시 주어졌던 D flip-flop의 테스트벤치 파일과 동일하게 구성하였다.
먼저 data를 write해야 하므로 enable 신호인
write2를 1로 설정한다.
첫 번째 for문을 살펴보면,
write가 끝나면, read가 이루어져야 하므로
enable 신호인 write2를 0으로 설정한다.
두 번째 for문에서는
시뮬레이션 결과는 첫 페이지에 나타내었다. 정확한 연산이 이루어지고 있음을 확인할 수 있다.
이로써 1 port General Purpose Register File의 설계가 완료되었다.
키워드
추천자료
[전자공학실험] JK플립플롭,T플립플롭 -결과레포트
Ch6. 기본 논리 게이트와 그 응용<디지털회로실험//경희대학교>
Ch13. 시프트 레지스터<디지털회로실험//경희대학교>
실험2 다이오드 특성
준실험설계의 기본논리와 장·단점을 설명하시오.[방통대 행정학과 4학년 D형]
[실험 결과레포트] 자기력 측정
인장강도실험
[유기화학실험] 아민의 반응
논리회로 실험 보고서
디지털회로실험 교안
[화공생명공학 요소실험] Residence Time Distribution (R T D) RTD 메인
화학기초실험 - 액체 점도 측정
6-1. 정전기 실험
[일반물리학 실험] 측정장비 연습
소개글