Download presentation
Presentation is loading. Please wait.
Published by일우 우 Modified 8년 전
1
Hankuk University of Foreign Studies Design and Verification Using FPGA Board Part I
2
Hankuk University of Foreign Studies SoC Research Lab.2 Kit 에서의 LED Lab 1.1 LED Controller LED (Light Emitting Diode) 8 개 LED 로 구성 각 LED 에 ‘0’ 을 인가하여 불이 켜 지도록 함 공통 단자가 VDD 에 연결되므로 각 단자에 low 신호를 인가하여 LED 점등
3
Hankuk University of Foreign Studies LED pin number SoC Research Lab.3 Lab 1.1 LED Controller Name FPGA Pin Number Name FPGA Pin Number led_out[7]T3led_out[3]U1 led_out[6]T6led_out[2]U2 led_out[5]T7led_out[1]U3 led_out[4]T8led_out[0]U4 Clock & Reset pin number Name FPGA Pin Number CLK1N1 RESE T P6
4
Hankuk University of Foreign Studies SoC Research Lab.4 Lab 1.1 LED Controller Block diagram
5
Hankuk University of Foreign Studies SoC Research Lab.5 Lab 1.1 LED Controller 회로 Module name & In/Out ports File name : led_top.v Module name: led_top Input : clk, reset[1-bit] Output: led_out[8-bit] Specification 외부 oscillator 로부터 25MHz 클럭을 clk 신호를 통해 입력 받음 비동기 reset(negative edge reset) 을 사용 25MHz 클럭을 10Hz 클럭으로 분주하여 사용 빠른 클럭은 사람 눈에 변화하는 상태가 보이지 않음 내부 counter 가 ‘5’ 일 때마다 8 개 LED 가 켜졌다가 꺼졌다를 반복 led_out 으로 출력되는 신호는 ‘0’ 일 경우 LED 가 켜지고 ‘1’ 일 경우 꺼짐
6
Hankuk University of Foreign Studies SoC Research Lab.6 Kit 에서의 keypad Lab 1.2 Keypad 를 이용한 LED Controller Keypad 3 x 3 keypad ( 총 9 개 ) Keypad 1~9 중 입력이 들어 오게 되면 각각의 resister 에 ‘1’ 이 인가됨
7
Hankuk University of Foreign Studies SoC Research Lab.7 Keypad pin number Lab 1.2 Keypad 를 이용한 LED Controller Name FPGA Pin Number Name FPGA Pin Number key1AC21key5AD17 key2AC22key6AD19 key3AD15key7AD21 key4AD16key8AD22 key9AD23
8
Hankuk University of Foreign Studies SoC Research Lab.8 Lab 1.2 Keypad 를 이용한 LED Controller Block diagram
9
Hankuk University of Foreign Studies SoC Research Lab.9 Lab 1.2 LED Controller 회로 Module name & In/Out ports File name : led_adv_top.v Module name: led_adv_top Input : clk, reset [1-bit] key1, key2, key3, key4, key5, key6, key7, key8, key9 [1-bit] Output: led_out [8-bit] Specification Keypad 버튼 1 을 눌렀을 때 LED 가 좌측으로 하나씩 이동 Keypad 버튼 2 를 눌렀을 때 LED 가 우측으로 하나씩 이동 Keypad 버튼 3 을 눌렀을 때 LED 가 전체 켜짐 Keypad 버튼 4 를 눌렀을 때 LED 가 전체 꺼짐
10
Hankuk University of Foreign Studies SoC Research Lab.10 Kit 에서의 7-segment Lab 2.1 7-segment Controller Common anode 공통 단자가 VDD 에 연결되므 로 각 단자에 low 신호를 인가 하여 LED 점등 Common cathode 공통 단자가 GND 에 연결되기 때문에 각 단자에 high 신호를 인가하여 LED 점등
11
Hankuk University of Foreign Studies SoC Research Lab.11 Lab 2.1 7-segment Controller Cathode 형 7-segment
12
Hankuk University of Foreign Studies SoC Research Lab.12 7-segment pin number Lab 2.1 7-segment Controller 7-segment pin mapping Common-cathode 타입 4 개가 하나의 패키지에 포 함 특정 7-segment 발광을 위 해서 선택 핀 (cathode) 에 ‘low’ 신호 인가 Quartus 에서 옆 표의 핀 설정 정보를 통해 설계한 디자인과 pin mapping Name FPGA Pin Number Name FPGA Pin Number seg_sel[0]AB20seg_data[0]AA14 seg_sel[1]AB21seg_data[1]AA15 seg_sel[2]AC14seg_data[2]AA16 seg_sel[3]AC15seg_data[3]AA17 seg_sel[4]AC17seg_data[4]AA18 seg_sel[5]AC18seg_data[5]AA20 seg_sel[6]AC19seg_data[6]AB15 seg_sel[7]AC20seg_data[7]AB18
13
Hankuk University of Foreign Studies SoC Research Lab.13 Lab 2.1 7-segment Controller Block diagram
14
Hankuk University of Foreign Studies SoC Research Lab.14 Lab 2.1 7-segment Controller 회로 Module name & In/Out ports File name : seg_top.v Module name: seg_top Input : clk, reset [1-bit] Output: seg_sel, seg_data[8-bit] Specification 외부 oscillator 로부터 25MHz 클럭을 clk 신호를 통해 입력 받음 비동기 reset(negative edge reset) 을 사용 오른쪽 7-segment 부터 count 의 상태를 출력 seg_sel 로 원하는 자리의 7-segment 를 선택 seg_data 로 각 7-segment 에 값을 출력 ‘0’ 이면 7-segment 에 불이 켜짐
15
Hankuk University of Foreign Studies SoC Research Lab.15 Block diagram Lab 2.2 Keypad 를 이용한 7-segment Controller
16
Hankuk University of Foreign Studies SoC Research Lab.16 Lab 2.2 7-segment Controller 회로 Module name & In/Out ports File name : seg_adv_top.v Module name: seg_adv_top Input : clk, reset [1-bit] key1, key2, key3, key4, key5, key6, key7, key8, key9 [1-bit] Output: seg_sel, seg_data [8-bit] Specification Keypad 버튼 1 이 입력되면 가장 오른쪽의 7-segment 가 선택되어 ‘1’ 증가 Keypad 버튼 8 이 입력되면 가장 왼쪽의 7-segment 가 선택되어 ‘1’ 증가 Keypad 버튼 5 가 입력된다면 오른쪽에서 5 번째 7-segment 값이 ‘1’ 증가
17
Hankuk University of Foreign Studies Lab 3.1 Dot Matrix Controller Dot Matrix 5 X 7 dot LED 를 4 개 사용하여 10 X 14 dot 로 구성 Dot LED 에 불을 켜기 위해 해당 하는 column 과 row 에 ‘0’ 을 인가 하면 지정된 열에 불이 켜짐 Dot Matrix 가 한번에 한 열씩만 출력 가능하므로 10 개의 열을 빠른 순서로 켜고 끄기를 반복 하면 잔상효과로 인하여 불이 정지된 것처럼 보임 눈에 잔상효과를 주기 위해 1 초 에 50 회 이상 열을 왕복하여야 함 SoC Research Lab.17 Kit 에서의 Dot Matrix
18
Hankuk University of Foreign Studies Lab 3.1 Dot Matrix Controller SoC Research Lab.18 Dot Matrix pin number NameFPGA Pin NumberNameFPGA Pin Number row13Y10row6AE21 row12W10row5AE20 row11W12row4AE19 row10W11row3AE18 row9W8row2AE17 row8V14row1AE16 row7V13row0AE15 column9AF13column4AD12 column8AF10column3AD11 column7AF9column2AD10 column6AF8column1AD8 column5AF7column0AD7
19
Hankuk University of Foreign Studies SoC Research Lab.19 Lab 3.1 Dot Matrix Controller Block diagram
20
Hankuk University of Foreign Studies SoC Research Lab.20 Lab 3.1 Dot Matrix Controller 회로 Module name & In/Out ports File name : dot_top.v Module name: dot_top Input : clk, reset [1-bit] Output: column [10-bit] row [14-bit] Specification 외부 oscillator 로부터 25MHz 클럭을 clk 신호를 통해 입력 받음 비동기 reset(negative edge reset) 을 사용 column 은 dot LED 열을 선택하는 신호 row 는 dot LED 행을 선택하는 신호 Dot Matrix 를 0 부터 9 까지 하나씩 증가시켜 출력시키는 회로 ( 계속 반복됨 )
21
Hankuk University of Foreign Studies SoC Research Lab.21 Block diagram Lab 3.2 Keypad 를 이용한 Dot Matrix Controller
22
Hankuk University of Foreign Studies SoC Research Lab.22 Lab 3.2 Dot Matrix Controller 회로 Module name & In/Out ports File name : dot_adv_top.v Module name: dot_adv_top Input : clk, reset [1-bit] key1, key2, key3, key4, key5, key6, key7, key8, key9 [1-bit] Output: column [10-bit] row [14-bit] Specification Keypad 버튼 1 을 입력 받으면 Dot Matrix 에 ‘ ㄱ ’ 을 출력 Keypad 버튼 2 를 입력 받으면 Dot Matrix 에 ‘ ㄴ ’ 을 출력 Keypad 버튼 3 을 입력 받으면 Dot Matrix 에 ‘ ㄷ ’ 을 출력
23
Hankuk University of Foreign Studies Lab 4. ALU(Arithmetic and Logic Unit) Introduction 데이터간의 수학적, 논리적 연 산을 수행하는 회로 단자 a, b 로 입력되는 데이터를 선택된 연산으로 변환하여 단 자 z 로 출력 제어신호 s 에 의해 연산 종류 결정 Logic diagram sOperationsInstructions 0001Add a + bADD 0010Subtract a – bSUB 0011a AND bAND 0100a OR b OR 0101a XOR bXOR 0110Complement aCOMA 0111Shift right aSHRA 1000Shift left aSHLA SoC Research Lab.23 Operations
24
Hankuk University of Foreign Studies Lab 4. ALU Block diagram SoC Research Lab.24
25
Hankuk University of Foreign Studies Lab 4. ALU Mode controller(FSM)
26
Hankuk University of Foreign Studies Lab 4. ALU Mode controller(FSM) state 0: Keypad 를 통해 제어 신호 s 를 입력 받아 어떠한 연산을 할지 결정함 state 1: (1) Keypad 로 a 값을 입력받음 (2) s 가 6 보다 작을 경우 state 2 로 넘어가고 아닐 경우 state 3 으로 넘어감 state 2: Keypad 를 통해 입력 값 b 를 받고 state 3 으로 넘어감 state 3: Keypad 9 번이 입력되면 z 값을 출력하고 state 0 로 넘어감 SoC Research Lab.26
27
Hankuk University of Foreign Studies Lab 4. ALU TXT LCD pin number NameFPGA Pin NumberNameFPGA Pin Number TXT_LCD_DATA[0]AB10TEXT_LCD_ENAA9 TXT_LCD_DATA[1]AB12TEXT_LCD_LEY11 TXT_LCD_DATA[2]AC5 TEXT_LCD_R W Y12 TXT_LCD_DATA[3]AC6 TXT_LCD_DATA[4]AC8 TXT_LCD_DATA[5]AC9 TXT_LCD_DATA[6]AC10 TXT_LCD_DATA[7]AC11
28
Hankuk University of Foreign Studies Lab 4. ALU Module name & In/Out ports File name : alu_top.v Module name: alu_top Input : clk [1-bit] reset [1-bit] key1, key2,key3, key4, key5, key6, key7 [1-bit] Output: z [8-bit] seg_sel, seg_data [8-bit] lcd_data, led_out [8-bit] column [10-bit] row [14-bit] Specification Keypad: state 에 따라 제어신호 s 와 입력 신호 a, b 를 받음 LED: 최종 출력 값 z 를 2 진수로 출력함 7–segment: 최종 출력 값 z 를 10 진수로 출력함 Dot Matrix: 현재 모드를 출력함 TXT LCD: 선택된 연산에 대한 설명을 나타냄 SoC Research Lab.28
Similar presentations