180 likes | 461 Views
ABEL 프로젝트. SOC 연구실 최지호 원천관 339-2 호 (zigprid@ajou.ac.kr/219-2390). 프로젝트 개요. 학번 과 이름 을 하나 씩 입력해서 7-segment 에 차례로 출력하는 PLD 를 ABEL 로 설계 사용 Device ? Pin assign ? Compiler ?. 사용 PLD. PAL22V10. 7-segment 디자인. 입 , 출력 포트 지정. 접지 12 번 핀 전원 24 번 핀 SEL 2 번 핀 입력
E N D
ABEL 프로젝트 SOC 연구실 최지호 원천관 339-2호 (zigprid@ajou.ac.kr/219-2390)
프로젝트 개요 • 학번과 이름을 하나 씩 입력해서 7-segment에 차례로 출력하는 PLD 를 ABEL로 설계 • 사용 Device ? • Pin assign ? • Compiler ?
사용 PLD • PAL22V10
입, 출력 포트 지정 • 접지 • 12번 핀 • 전원 • 24번 핀 • SEL • 2번 핀 • 입력 • 3번 ~ 7번 핀 (5개) • 출력 • 23번 ~ 17번 핀 (7개)
I/O pin assign 규칙 (준수 할 것) • 입력 • 3번 ~ 7번 핀 (5개) • MSB: 3번 핀 • LSB : 7번 핀 • 출력 • 23번 ~ 17번 핀 (7개) • MSB: 23번 핀 • LSB : 17번 핀
각 입력 핀의 용도 정리 • SEL(2) : 학번을 입력 받을지 이름을 입력 받을지를 결정한다. • Input(3~7) : 학번 혹은 이름을 입력한다. • 0,0,0,0,0 ? Answer is 0 or ‘A’.
전체 설계 방법 (1) • select 로 assign 된 핀에 Low (‘0’) 신호가 들어 올 경우 • ‘학번’을 입력 하는 것으로 인식한다. • 5개의 입력 핀에서 각각 1bit 신호를 받는다. • 입력 된 5bit 신호는 프로그래머가 설정한 7bit 신호로 변환된다. • decoding 된 신호는 7개의 output pin을 통해 1bit씩 각 각 출력 된다. • 7-segment 디자인을 참조하여 각각의 pin을 배치한다. • select 로 assign 된 핀에 High (‘1’) 신호가 들어 올 경우 • ‘이름’을 입력 하는 것으로 인식한다. • 5개의 입력 핀에서 각각 1bit 신호를 받는다. • 입력 된 5bit 신호는 프로그래머가 설정한 7bit 신호로 변환된다. • decoding 된 신호는 7개의 output pin을 통해 1bit씩 각 각 출력 된다. • 7-segment 디자인을 참조하여 각각의 pin을 배치한다. 앞장에서 설정 한 대로
Example if select = 0; 2 0 0 7 2 3 3 6 5 if select = 1; H G A 전체 설계 방법 (2) 각각의 입력은 맨 앞 자리부터 하는 것으로 지정
(상) 7-segment를 이용한 학번과 이름쓰기 7-segment for alphabet & numeric a b f g c e I(1) F G(6) H E B(8) C d A D(0) • 색칠되어 있는 • 7-segment는 • 표현이 좀 • 어색한 것 R O P Q(9) N L M K J(7) X Y(4) Z(2) (3) S(5) W U V T
규칙 정리 • 각 입 출력의 핀 배열은 앞에서 정한 바에 따른다. • 7-segment connection은 앞에서 디자인 된 바에 따른다. • test-vector에 학번과 이름(이름은 이니셜 3자리)을 모두 적어준다. • 학번과 이름의 입력은 앞 에서부터 차례로 한다. • 200744324 -> 처음에 2 그 다음 0 이런 순서로.. • 한민혁 -> 처음에 H 그 다음 M 그 다음 H
ABEL compiler • Web 에 올린 ABEL 컴파일러 다운로드 및 압축 풀기 • ABEL.zip • 가급적 최상위 경로에 압축 푸는 것이 경로 찾기 쉬움 (예) c드라이브 바로 밑에
ABEL compiler • 윈도우 시작 메뉴의 ‘실행’ 메뉴 실행 cmd 입력 • 도스창에서 ABEL.zip 압축을 해제한 경로로 이동 • “cd ..”입력 (한폴더 상위로 이동) “cd ..” 입력 “cd ABEL”입력 (ABEL 폴더로 이동) “dir/w” 입력 (폴더에 있는 파일 display)
ABEL compiler • 설계한 코드 컴파일 • ABEL.BAT 배치 파일에 컴파일 설정을 해 놓았음 • ABEL DeviceName ABEL 확장자는 입력하지 않음 • 컴파일 실행 결과 • DeviceName.DOC • DeviceName.JED • DeviceName.LST • DeviceName.OUT • DeviceName.SIM 5개 파일 생성
ABEL compiler • DeviceName.DOC : Document 파일 • DeviceName.JED : 롬파이터로 구울 파일 • DeviceName.SIM : 시뮬레이션 결과 파일 자신이 설정한 테스트 벡터에 대해서 모두 pass하면 오류 없이 설계한 것임
ABEL compiler • 에러 발생 • 5개의 파일이 모두 생성되지 않음 • 아래와 같이 에러라고 표시됨 • 구체적으로 어디에 에러가 났다고 표시해주는 경우도 있으나 단순히 에러라고만 표시하는 경우가 더 많음 직접 분석해서 찾아야 함
과제 • 1.복잡한 입력과 출력에 대한 정의를 제대로 하였는가? (분석) • 2. ABEL의 구문 오류 없이 구현 하였는가? (구현) • 3. Test Vector를 이용하여 입력의 변화에 따른 결과를 제시하였는가? (분석, 구현) • 자신의 학번과 이름 이니셜을 출력할 수 있도록 • 4. 정확한 코드가 생성되었는가? (신뢰성) • ABEL test vector에 대한 결과 (OK) • 5. 구문을 readability가 있게 작성하였는가? (심미성) • Set 사용, when 사용, 등등 • 6. 보고서에 코드 sample, Test vector, 구문 설명 등이 자세히 들어가 있는가? (문서화)
과제 • 기간: 12/1일 까지, deadline을 엄수하여야 함 (2일까지 늦게 제출하는 것은 받음 단 하루 지연에 -10점, 2일 이후 (12/3이후)는 받지 않음. • 과제 제출 방법: e-mail로 제출 • 제출 서류: paper, 소스 코드와 컴파일 출력 파일을 zip하여 제출 • File format: (1) StuNum_Name.zip • 문서 작업 : MS office 를 사용(2007 버전 제외), 문서에 소스코드를paste하고 설명을 작성 한 후, 시뮬레이션 결과를 캡쳐하여 paste할 것. • 조교 e-mail: zigprid@ajou.ac.kr • 카피 적발 시 쌍방 0점 처리. • 메일 제목은 반드시 [논리회로과제]로 시작, 보내는 메일은 ajou 웹 메일(ooooo@ajou.ac.kr) 사용 – 자동 필터 링 되도록 하기 위함. 규칙을 어길 시에 받는 불이익은 본인이 감수하여야 함. • [논리회로과제] 199922724_ 최지호 ABEL 프로그램 제출합니다. • 정상적으로 제출 시 12/2일 6시경 회신을 받게 됨.