다음블로그에 썼던 내용을 옮깁니다. (블로그 통합 중 ㅎㅎ)


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

+ Recent posts