오후 6:50 2008-11-15
WinCPUL로 GAL 프로그래밍 하기
조경민 bro@shinbiro.com
===================================================
GAL 정보 얻기
----------------------------------------------------------
먼저 자신이 갖고 있는 GAL의 데이터 시트를 봐야 한다.
내가 갖고 있는 것은 Lattice사의 GAL20V8B-25LPN이다.
www.alldatasheet.com/ 에서 위의 칩명으로 검색해서 보면
GAL칩이 세가지 모드를 지원한다고 나오고 각 모드는 소프트웨어에서
Device이름으로 고르면 선택된다고 나오고 있다.
CPUL에서 Simple모드로 사용할 때는 G20V8AS 를 쓰라고 써있다.
그리고 중요한 핀 정보를 알아야 한다.
G20V8은 다음과 같은 핀 정보를 갖고 있다.
Pin# Function
1 CLK/IN
2 IN
3 IN
4 IN
5 IN
6 IN
7 IN
8 IN
9 IN
10 IN
11 IN
12 GND
13 OE/IN
14 IN
15 IO
16 IO
17 IO
18 IO
19 IO
20 IO
21 IO
22 IO
23 IN
24 VCC
IO는 Q(출력)용으로 사용 가능하다.
GAL 프로그램 짜기
----------------------------------------------------------
무료 소프트웨어인 Atmel사의 WinCPUL을 사용하였다.
File/New Project한 다음 TestMyMux라고 짓고 입력핀, 출력핀 그런건 그냥 엔터 0으로 친다.
그리고 다음 처럼 소스를 짠다.
그러면 TestMyMux.pld라는 프로젝트가 생성된다.
Name TestMyMux ;
PartNo 00 ;
Date 2008-11-15 ;
Revision 01 ;
Designer Engineer ;
Company bro ;
Assembly None ;
Location ;
Device g20v8as ;
pin 2 = A; /* 2번 핀은 IN이며 이를 사용해서 A로 이름지음*/
pin 3 = B;
pin 4 = sel;
pin 15 = y; /* 15번 핀은 Q이며 이를 이용해서 y로 이름지음*/
y = sel & A /* if(sel) y = A; else y = B; 라고 짰음 */
# !sel & B;
이때 사용할 수 있는 기호는
&는 and이고 #은 or이고 !는 not이다.
컴파일하면 jed 파일이 생기며 이것만 있으면 일딴 ROM writer를 이용해서 GAL칩에
프로그램 할 수 있따.
GAL 시뮬레이션
----------------------------------------------------------
프로그램 하기 전에 간단히 시뮬레이션이 가능하다.
Utilites/Win Sim을 선택하면 시뮬레이터 툴이 실행된다.
File/New를 한 후 Design File...을 선택한 후 TestMyMux.pld를 선택하고 OK를 누른다.
Signal/Add Signal후 A,B,sel,y를 추가하고 Close한다.
Signal/Add Vector를 한 후 4를 누른다.
그리고 테스트 시그널을 만들어야 하는데
A, B, sel은 입력 값이므로 직접 오른 클릭해서 Driver Input low 또는 high를 선택해서
웨이브를 생성한다. 그리고 y는 출력이므로 오른클릭해서 * - simulator determined를 선택한다.
그리고 Simulator/Run Simualtor를 선택하면 결과가 그려진다.
'KB > hardware soc' 카테고리의 다른 글
VME 버스 아키텍처 (0) | 2008.11.12 |
---|---|
VGA 구현 (1) | 2008.11.12 |
ps/2 keyboard 동작 (0) | 2008.11.07 |
GAL PLD programming (0) | 2008.11.05 |
어드레스 버스, 데이터 버스 TTL (0) | 2008.11.05 |