디지털 논리회로 VERILOG 과제 (sequence detector)
- 최초 등록일
- 2019.06.26
- 최종 저작일
- 2019.06
- 7페이지/ 압축파일
- 가격 4,000원
* 본 문서(hwp)가 작성된 한글 프로그램 버전보다 낮은 한글 프로그램에서 열람할 경우 문서가 올바르게 표시되지 않을 수 있습니다.
이 경우에는 최신패치가 되어 있는 2010 이상 버전이나 한글뷰어에서 확인해 주시기 바랍니다.
소개글
구매하셔서 제출만 하시면 됩니다.
(A+받은자료이고 추가점수까지 받은 자료입니다.)
목차
Ⅰ. HW2-(1) SEQUENCE DETECTOR(010,1011)-OVERLAPPING
1. 설계코드 및 코드 설명
2. 테스트 벤치 코드 및 코드 설명
3. 출력값
4. 출력값 도식화
5. 상태표
6.상태 천이표
7.상태 그래프
Ⅱ. HW2-(2) SEQUENCE DETECTOR(010,1011)-NONOVERLAPPING
1. 설계코드 및 코드 설명
2. 테스트 벤치 코드 및 코드 설명
3. 출력값
4. 출력값 도식화
5. 상태표
6. 상태천이표
7. 상태그래프
Ⅲ. 최종고찰
본문내용
010과 1011을 동시에 감지하는 sequence detector를 코딩하였다. 010을 감지하면 z1=1, 1011을 감지하면 z2=1이다. Overlapping과 Nonoverlapping을 설계하였는데, Overlapping은 결과값이 출력되어도 결과값에 사용된 입력과 추가 입력을 같이 감지한다. 반면, Nonoverlapping은 결과값이 출력되면 결과값에 사용된 입력을 무시하고 새로 추가된 입력부터 다시 감지를 시작한다. 즉, 출력값이 1일 경우 상태를 reset시킨다. Nonoverlapping을 설계하는법은 출력값이 1일 경우 reset상태로 회귀시키면 되므로 Overlapping 회로만 설명하겠다. 입력은 x, rst(리셋), clk(클럭)이고 출력은 레지스터 z1, z2이다. state를 설정하기위해 3비트 레지스터 6개가 필요하므로 3개의 플립플롭을 사용한다. S0=000, S1=001, S2=010, S3=011, S4=100 그리고 S5=101을 할당해주었다. 또한, 여기서 s0=reset, s1=마지막입력이0인 상태, s2=마지막입력이 01인 상태, s3=마지막입력이 1인 상태, s4=마지막 입력이 10인 상태, s5=마지막입력이 101인상태 이다. 상태를 저장해야하므로 3비트 레지스터pState(현재상태)를 추가로 선언한다. always문을 사용해 clk신호를 받을때 rising edge에서 결과값이 변하도록 하였다. if문을 사용해서 rst=1일 때 pState(현재상태)는 s0이 되도록 하였고 rst=0일 때 case문을 사용했다. case문의 case를 6종류로 나누어 각 케이스별로 다시 if문을 사용해 pSate에 next state를 입력하고, z1, z2에 값을 입력하도록 했다. 테스트 벤치에서는 레지스터를 사용해 입력 x, rst, clk을 받고 wire를 사용해 출력 z1, z2를 출력하도록 했다.
참고 자료
없음
압축파일 내 파일목록
디논 과제 HW2 코딩.hwp
디논 과제 HW2.hwp