HBE-COMBO II -SE VHDL
목차
목차
7-Segment Decoder
회로 설계
Static 7-Segment 컨트롤러 설계 Dynamic 7-Segment 컨트롤러 설계목차
목차
7-Segment Decoder
회로 설계
Static 7-Segment 컨트롤러 설계 Dynamic 7-Segment 컨트롤러 설계7-Segment Decoder
7-Segment Decoder
7-Segment
숫자나 문자를 표시해 줄 수 있는 최소의 장치 . 8 개의 LED 로 구성되어 있으며 , 각각의 LED 에 불이 들어왔을 때 의 상태에 따라 다양한 문자 표시가 가능하다 .7-Segment
7-Segment
7-Segment
일반적인 7-Segment 를 말하며 , Common Cathode 와 Common Anode Type 이 있다 .
장비에는 Common Cathode 방식을 사용하여 , High 값을 전달 해 주었을 때 LED 에 불이 들어오도록 구성함 .
7-Segment 핀 Common Cathode 7-Segment 회로
Common Anode 7-Segment 회로
7-Segment
7-Segment
Common Cathode
7-Segment
공통단자를 GND 에 연결 . 각 데이터에 High 값을 전달하여 LED 에 불이 들어오도록 함 .7-Segment
7-Segment
Common Anode 7-Segment
공통단자를 VCC 에 연결 .
각 데이터에 Low 값을 전달하여 LED 에 불이 들어오도록 함 .
7-Segment Decoder
7-Segment Decoder
7-Segment
기본 적으로 아래와 같이 0~F 의 16 진수를 표시하기에 적당함 . 8 개의 LED 의 조합으로 문자 표시가 이루어지기 때문에 7-Segment 를 제어하기 위한 디코더의 설계가 필요함 .7-Segment Decoder
7-Segment Decoder
7-Segment Decoder 진리표
표시 문자 7- 세그먼트 모양 캐소드 공통형 애노드 공통형 표시 문자 7- 세그먼트 모양 캐소드 공통형 애노드 공통형 0 11111100 00000011 1 01100000 10011111 2 11011010 00100101 3 11110010 00001101 4 01100110 10011001 5 10110110 01001001 6 10111110 01000001 7 11100000 000111117-Segment Decoder
7-Segment Decoder
7-Segment Decoder 진리표
표시 문자 7- 세그먼트 모양 캐소드 공통형 애노드 공통형 표시 문자 7- 세그먼트 모양 캐소드 공통형 애노드 공통형 8 11111110 00000001 9 11110110 00001001 A 11101110 00010001 B 00111110 11000001 C 00011010 11100101 D 01111010 10000101 E 10011110 01100001 F 10001110 01110001목차
목차
7-Segment
회로 설계
Static 7-Segment 컨트롤러 설계 Dynamic 7-Segment 컨트롤러 설계7-Segment Decoder
7-Segment Decoder
7-Segment 4 bit BCD 7-Segment Decoder
10 진 수 D C B A a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 1 1 0 1 1 0 1 1 0 1 1 6 1 1 1 0 1 0 1 1 1 1 1 7 1 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1
프로젝트 생성
프로젝트 생성
Project Navigator 실행 File -> New Project
프로젝트 생성
프로젝트 생성
프로젝트를 만들고 프로젝트를 실 행할 폴더를 생성한다 . HB_SEG_DECODER HDL 선택프로젝트 생성
프로젝트 생성
FPGA Chip Select
All Select Spartan3 Select XC3S200 Select P208 Select -4 Select Tool Select XST (VHDL/Verilog) Select ISim(VHDL/Veilog) Select VHDL Select
프로젝트 생성
프로젝트 생성
로직 설계
로직 설계
File -> New Click Text File Select
로직 설계
로직 설계
로직 설계
로직 설계
Source 저장
로직 설계
로직 설계
Source 프로젝트에 추가 Project -> Add Source HB_SEG_DECODER.VHD 선택
컴파일
컴파일
시뮬레이션
시뮬레이션
시뮬레이션
시뮬레이션
시뮬레이션
시뮬레이션
Select Source Type
VHDL Test Bench 선택 File name :
TB_HB_SEG_DECODER
시뮬레이션
시뮬레이션
시뮬레이션
기본으로 작성된 Test Fixture 파 일
시뮬레이션
시뮬레이션
시뮬레이션 파일 수정 Save
시뮬레이션
시뮬레이션
ISE 시뮬레이션 프로그램인 Isim 을 이용하여 시뮬레이션 진 행
시뮬레이션
시뮬레이션
시뮬레이션 결과 확인
핀 설정
핀 설정
implementation 선택 User Constraint > Floorplan Area/IO/Logic ( PlanAhead ) ... RUN핀 설정
핀 설정
포트 이름 핀 번호 하드웨어 설명 포트 이름 핀 번호 하드웨어 설명 BCD[3] 34 BUS_SW1 a 176 SEG_A BCD[2] 35 BUS_SW2 b 178 SEG_B BCD[1] 37 BUS_SW3 c 181 SEG_C BCD[0] 36 BUS_SW4 d 182 SEG_D e 184 SEG_E f 185 SEG_F g 187 SEG_G핀 설정
핀 설정
I/O Port 창의 각 Port 에 대한 Site 에 핀 설정 “P 핀번호” 예 ) 36 번 핀 = P36 저장 후 종료컴파일
컴파일
핀 설정을 적용하기 위하여
Implement Design 을 실행시 켜 다시 컴파일 한다 .
프로그래밍
프로그래밍
Generate Programming File 을 실행 .
프로그래밍
프로그래밍
Manage Configuration Project (iMPACT) 실행
프로그래밍
프로그래밍
프로그래밍
프로그래밍
File > Initialize Chain 선택 JTAG 으로 연결된 디바이스 검 색
프로그래밍
프로그래밍
FPGA 에 프로그래밍할 파일 선택 Hb_seg_decoder.bit 파일을 선택 . Open button Click
프로그래밍
프로그래밍
PROM 에 프로그래밍할 파일 선택
PROM File 을 생성하지 않았고 , FPGA 에만 다운로딩 하기 때문에 파일 선택을 하지 않는다 .
프로그래밍
프로그래밍
Programming 옵션 선택 Default 설정
프로그래밍
프로그래밍
칩 모양에 마우스를 놓고 마우 스 오른쪽 버튼을 눌러서
프로그래밍
프로그래밍
프로그램이 완료되었고 제대로 동작했다면 Program Succeeded 가 나타난다 .
목차
목차
7-Segment
회로 설계
Static 7-Segment 컨트롤러 설계 Dynamic 7-Segment 컨트롤러 설계Dynamic 7-Segment
Dynamic 7-Segment
Dynamic 7-Segment
Static Segment 의 구조를 제어하기 위해서 1 개의 7-Segment 를 제어하는데 사용하는 I/O 는 8 개이다 . 제어되는 7-Segment 의 숫자가 늘어날 수록 사용하는 I/O 수도 많이 늘어나기 때문에 , 사용하는 7-Segment 의 a, b, c, d, e, f, g 의 데이터 라인을 공용으로 연결하고 , Common 단자를 Scanning 하는 방법으로 사용하는 I/O 의 숫자를 줄이는 구조가 다이나믹 7-Segment 구조이다 .Dynamic 7-Segment
Dynamic 7-Segment
Dynamic 7-Segment
장비에 구성된 1 개의 Static 7-Segment 에서 사용하는 I/O 는 8 개이고 , 4 개의 Dynamic 7-Segment 에서 사용하는 I/O 는 데 이터 8 개 + Common 4 개이다 .
7-Segment 에 표시할 데이터를 전달하고 , 4 개의 7-Segment 중 어느 곳에 나타나게 할 것인지를 결정하는 방법으로 Dynamic 7-Segment 의 제어기가 설계된다 .
Dynamic 7-Segment
Dynamic 7-Segment
프로젝트 생성
프로젝트 생성
Project Navigator 실행 File -> New Project
프로젝트 생성
프로젝트 생성
프로젝트를 만들고 프로젝트를 실 행할 폴더를 생성한다 . HB_SEG_DISP HDL 선택프로젝트 생성
프로젝트 생성
FPGA Chip Select
All Select Spartan3 Select XC3S200 Select P208 Select -4 Select Tool Select XST (VHDL/Verilog) Select ISim(VHDL/Veilog) Select VHDL Select
프로젝트 생성
프로젝트 생성
로직 설계
로직 설계
File -> New Click Text File Select
로직 설계
로직 설계
로직 설계
로직 설계
Source 저장
로직 설계
로직 설계
Source 프로젝트에 추가 Project -> Add Source HB_SEG_DISP.VHD 선택
컴파일
컴파일
시뮬레이션
시뮬레이션
시뮬레이션
시뮬레이션
시뮬레이션
시뮬레이션
Select Source Type
VHDL Test Bench 선택 File name :
TB_HB_SEG_DISP
시뮬레이션
시뮬레이션
시뮬레이션
기본으로 작성된 Test Fixture 파 일
시뮬레이션
시뮬레이션
시뮬레이션 파일 수정 Save
시뮬레이션
시뮬레이션
ISE 시뮬레이션 프로그램인 Isim 을 이용하여 시뮬레이션 진 행
시뮬레이션
시뮬레이션
시뮬레이션 결과 확인
핀 설정
핀 설정
implementation 선택 User Constraint > Floorplan Area/IO/Logic ( PlanAhead ) ... RUN핀 설정
핀 설정
포트 이름 핀 번호 하드웨어 설명 포트 이름 핀 번호 하드웨어 설명
RESETN 57 FPGA_RESET SEG_DATA[7] 22 SEG_DATA_A
CLK 76 CLK_1KHz SEG_DATA[6] 24 SEG_DATA_B
SEG_DATA[5] 26 SEG_DATA_C
SEG_DATA[4] 27 SEG_DATA_D
SEG_COM[3] 18 SEG_COM1 SEG_DATA[3] 28 SEG_DATA_E
SEG_COM[2] 19 SEG_COM2 SEG_DATA[2] 29 SEG_DATA_F
SEG_COM[1] 20 SEG_COM3 SEG_DATA[1] 31 SEG_DATA_G
핀 설정
핀 설정
I/O Port 창의 각 Port 에 대한 Site 에 핀 설정 “P 핀번호” 예 ) 57 번 핀 = P57 저장 후 종료컴파일
컴파일
핀 설정을 적용하기 위하여
Implement Design 을 실행시 켜 컴파일 한다 .
프로그래밍
프로그래밍
Generate Programming File 을 실행 .
프로그래밍
프로그래밍
Manage Configuration Project (iMPACT) 실행
프로그래밍
프로그래밍
프로그래밍
프로그래밍
File > Initialize Chain 선택 JTAG 으로 연결된 디바이스 검 색
프로그래밍
프로그래밍
FPGA 에 프로그래밍할 파일 선택 Hb_SEG_DISP.bit 파일을 선택 . Open button Click
프로그래밍
프로그래밍
PROM 에 프로그래밍할 파일 선택
PROM File 을 생성하지 않았고 , FPGA 에만 다운로딩 하기 때문에 파일 선택을 하지 않는다 .
프로그래밍
프로그래밍
Programming 옵션 선택 Default 설정
프로그래밍
프로그래밍
칩 모양에 마우스를 놓고 마우 스 오른쪽 버튼을 눌러서
프로그래밍
프로그래밍
프로그램이 완료되었고 제대로 동작했다면 Program Succeeded 가 나타난다 .
응용
응용
앞의 핀 설정에서 CLK 의 핀 번호를 버튼 스위치 1 로 변 경하고 , SWITCH 를 눌렀을 때 7-Segment 에 표시되 는 것을 확인해 보자 .