gal20v8b-25lpn을 사용하여 4 bit counter를 마련해보았다.
gal20v8의 register mode를 사용하기 위해서는 WinCPUL에서 device type을 20v8ms로 선택해야 한다.
TestCounter.PLD 파일의 내용은 다음과 같다.
Name TestCounter ;
PartNo 00 ;
Date 2008-11-19 ;
Revision 01 ;
Designer Engineer ;
Company bro ;
Assembly None ;
Location ;
Device g20v8ms ; // 레지스터 모드로 선택
pin 1 = CLK; // 레지스터 모드시 1번 핀은 항상 Clock이다.
pin 2 = RSTn; // 그냥 리셋을 한번 마련해보았다.
Pin [15..18] = ![C0..3]; // 출력을 NOT해서 만들었다.
Pin 19 = En; // 그냥 19번 핀은 출력 핀을 combinational output으로 특정 카운트 값에서 En이 뜨도록 했다.
C0.d = !RSTn // 15번 출력 핀 부터 D-FF 출력으로 사용한다. CLK가 high가 되면 동작되는 sequential logic이다.
# !C0;
C1.d = !RSTn
# (!C1 & !C0 )
# ( C1 & C0 );
C2.d = !RSTn
# (!C2 & !C1 & !C0 )
# ( C2 & C0 )
# ( C2 & C1 );
C3.d = !RSTn
# (!C3 & !C2 & !C1 & !C0 )
# ( C3 & C0 )
# ( C3 & C1 )
# ( C3 & C2 );
En = !C3 & C0;
이를 시뮬레이션 해보면 다음과 같다.
잘 나오는것이 확인되었다 컴파일하면 testcounter.jed파일이 나온다.
이를 TOP2004 롬라이터를 이용하여 구웠다.
그리고 D-FF 출력 15번핀부터 18번핀 4개를 LED로 연결한 후 , CLK 1번 핀은 DIP switch를 pull down 저항 방식으로 연결하여 손가락으로 수동 클럭을 주도록 마련하였따;
첫번째 핀을 손으로 OFF시켰다가 ON시키면 CLK이 하나 들어가서 동작된다.
또 내려따가 올리면 두번째 LED가 켜진다.
GAL을 통해서 4비트 카운트 한것을 동영상으로 마련해보았다.
근데 DIP switch로 손으로 하다보니 잡음이 좀 들어가는거 같다. 어쨋든 대충 되는거 같다.
맨 오른편이 PIN 15번 그리고 왼편이 En이다. 이건 빼고 봐야 한다.
'KB > TTL' 카테고리의 다른 글
dip input, 7 segment, GAL test (0) | 2009.02.02 |
---|---|
Combination 74LS181, 74S182 (0) | 2009.01.30 |
7 segment와 DIP switch 사용 (0) | 2009.01.20 |
오실레이터 1Mhz와 4bit 193 카운터 사용 (0) | 2009.01.20 |