cic-310 cpld/fpga development system

57
K&H MFG. Co., LTD. Manufacturer, Exporter & Importer for Educational Equipment & Measuring Instrument CIC-310 CPLD/FPGA Development System

Upload: gefen

Post on 25-Jan-2016

117 views

Category:

Documents


14 download

DESCRIPTION

K&H MFG. Co., LTD . Manufacturer, Exporter & Importer for Educational Equipment & Measuring Instrument. CIC-310 CPLD/FPGA Development System. CIC-310 CPLD/FPGA Development System. § CPLD / FPGA Background. § Hardware Overview --- System Overview --- Development Board - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CIC-310 CPLD/FPGA Development System

K&H MFG. Co., LTD. Manufacturer, Exporter & Importer for Educational Equipment & Measuring Instrument

CIC-310CPLD/FPGA Development System

Page 2: CIC-310 CPLD/FPGA Development System

CIC-310 CPLD/FPGA Development System

§ Hardware Overview --- System Overview --- Development Board --- Experiment Board

§ Design Flowchart --- Experiment Flowchart --- Programming Flowchart --- Program manager

§ Experiments --- List of experiments --- Implementations

§ CPLD / FPGA Background

Page 3: CIC-310 CPLD/FPGA Development System

CIC-310 CPLD/FPGA Development System

§ Hardware Overview --- System Overview --- Development Board --- Experiment Board

§ Design Flowchart --- Experiment Flowchart --- Programming Flowchart --- Program manager

§ Experiments --- List of experiments --- Implementations

§ CPLD / FPGA Background

Page 4: CIC-310 CPLD/FPGA Development System

Traditional design flow of the logic circuit

In = A, B, C, D ...Out = X, Y …

Designspecification

Truth table

Manual

X = (Ā+B+C) (B+D) ( Ā+D )Booleanexpression

Manual (K-map)

§ CPLD/FPGA BACKGROUND – (1)

Implement onseveral ICs

Manual

Page 5: CIC-310 CPLD/FPGA Development System

PAL – Programmable Array Logic Programmable AND array followed by fixed fan-in OR gates

CBACBAf 1

A B C

AND plane

Programmable switch or fuse

Page 6: CIC-310 CPLD/FPGA Development System

PLD - Programmable Logic Device

A B C

AND plane

PLD

D Q

Q

S0S1

B

DC

AQ

HDL : Hardware Description Language

Page 7: CIC-310 CPLD/FPGA Development System

CPLD (Complex PLD) StructureIntegration of several PLD blocks with a programmable interconnect on a single chip

PLDBlockPLD

BlockPLD

BlockPLD

Block

Interconnection MatrixInterconnection Matrix

I/O B

lock

I/O B

lock

I/O B

lock

I/O B

lock

PLDBlockPLD

BlockPLD

BlockPLD

Block

I/O B

lock

I/O B

lock

I/O B

lock

I/O B

lock

• • •

Interconnection MatrixInterconnection Matrix

• • •

• • •

• • •

Page 8: CIC-310 CPLD/FPGA Development System

FPGA Look-Up Tables (LUT)• Look-up table with N-inputs can be used to implement

any combinatorial function of N inputs• LUT is programmed with the truth-table

LUTLUT

ABCD

Z

A

B

C

D

Z

Truth-table Gate implementation

LUT implementation

Page 9: CIC-310 CPLD/FPGA Development System

• FPGAs vs. CPLDs

• Are FPGAs and CPLDs the same thing? No. Both are programmable digital logic chips. Both are made by the same companies. But they have different characteristics.

• FPGAs are "fine-grain" devices. That means that they contain a lot (up to 100000) of tiny blocks of logic with flip-flops. CPLDs are "coarse-grain" devices. They contain relatively few (a few 100's max) large blocks of logic with flip-flops.

• FPGAs are RAM based. They need to be "downloaded" (configured) at each power-up. CPLDs are EEPROM based. They are active at power-up (i.e. as long as they've been programmed at least once...).

• CPLDs have a faster input-to-output timings than FPGAs (because of their coarse-grain architecture, one block of logic can hold a big equation), so are better suited for microprocessor decoding logic for example than FPGAs.

• FPGAs have special routing resources to implement efficiently binary counters and arithmetic functions (adders, comparators...). CPLDs do not.

• FPGAs can contain very large digital designs, while CPLDs can contain small designs only.

Page 10: CIC-310 CPLD/FPGA Development System

FPGA & CPLD

• FPGAs are RAM based. They need to be "downloaded" (configured) at each power-up. CPLDs are EEPROM based. They are active at power-up (i.e. as long as they've been programmed at least once...).

• FPGAs can contain very large digital designs, while CPLDs can contain small designs only.

• CPLDs have a faster input-to-output timings

Page 11: CIC-310 CPLD/FPGA Development System

Modern design flow of the logic circuit

Designspecification

In = A, B, C, D ...Out = X, Y …

Implement on ONECPLD/FPGA chip

Automatic

Design description

HDL Syntax

Manual(programming) Save lots of time!!!

§ CPLD/FPGA BACKGROUND – (2)

Page 12: CIC-310 CPLD/FPGA Development System

FPGA/CPLDFPGA/CPLD

CounterCounter

ConverterConverter

TimerTimer

PWMPWM

MPUMPU

GPIOControl

GPIOControl

DecoderDecoder

MCUMCU

MemoryMemory

ALUALU

SOPC (System On Programmable Chip)

Page 13: CIC-310 CPLD/FPGA Development System
Page 14: CIC-310 CPLD/FPGA Development System

CIC-310 CPLD/FPGA Development System

§ Hardware Overview --- System Overview --- Development Board --- Experiment Board

§ Design Flowchart --- Experiment Flowchart --- Programming Flowchart --- Program manager

§ Experiments --- List of experiments --- Implementations

§ CPLD / FPGA Background

Page 15: CIC-310 CPLD/FPGA Development System

§ System Overview

CIC-310 provides digital system designers with an economical solution for hardware verification or students with an efficient learning of digital system design.

CPLD/FPGA Development Board

Experiment Board+CIC-310 =

Page 16: CIC-310 CPLD/FPGA Development System

Altera 8k/10kRAM-based FPGA RS232 connector

Max. 32kB SEEPROM7.5C DC Power

89C2051 for load the configuration data to FPGA or SEEPROM devices with data compression techniques

HIN230 for RS-232 transmitters/receiversinterface circuits

Reset button:Reset connection to PC

Program selector jumper 11.0592MHz Xosc

§ Hardware Overview – Development Board

Page 17: CIC-310 CPLD/FPGA Development System

Logic Switch Input Section

Input Status Logic LED Display

Output Logic LED Display

20MHz X’TRAL OSC

6-Digit Parallel-Serial 7-segment Display

RC Oscillator

Pulse generator SW and Keypad Section

5 x 7 DOT LED display

16-Segment Display Section

§ Hardware Overview – Experiment Board

Page 18: CIC-310 CPLD/FPGA Development System

CIC-310 CPLD/FPGA Development System

§ Hardware Overview --- System Overview --- Development Board --- Experiment Board

§ Design Flowchart --- Experiment Flowchart --- Programming Flowchart --- Program manager

§ Experiments --- List of experiments --- Implementations

§ CPLD / FPGA Background

Page 19: CIC-310 CPLD/FPGA Development System

§ EXPERIMENT FLOWCHART

PersonalComputer

Development Board

Rs-232

Programming

Download the program

Windows 98/2000/XP

Experiment Board

Show theresult

Program manager

Page 20: CIC-310 CPLD/FPGA Development System

§ Programming Flowchart

Page 21: CIC-310 CPLD/FPGA Development System

Download the program to FPGA and execute the program

Add the program to SEEPROM

Execute the program from SEEPROM

§ Program manager functions

Page 22: CIC-310 CPLD/FPGA Development System

CIC-310 CPLD/FPGA Development System

§ Hardware Overview --- System Overview --- Development Board --- Experiment Board

§ Design Flowchart --- Experiment Flowchart --- Programming Flowchart --- Program manager

§ Experiments --- List of experiments --- Implementations

§ CPLD / FPGA Background

Page 23: CIC-310 CPLD/FPGA Development System

§ LIST OF EXPERIMENTS

• Combinational logic circuits– Applications of ALUs

– Encoder / Decoder

– Alpha-Nemaric LED display

– Multiplexer / Demultiplexer

• Sequential logic circuits– Flip-flop circuits

– Applications of counters

– Frequency synthesizers / Shift Registers

• Dynamic 5x7 LED matrix display• 4x4 keypad of matrixes

More than 50 examples in the experimental manual!!!

Page 24: CIC-310 CPLD/FPGA Development System

Implementations

Exp1 : Step by step design of basic logic circuit by Graphic and Text Editor

Exp2 : Binary-to-16-segment decoder

Exp3: Counters

Exp4: 5X7 DOT matrix display

Exp5: Keypad

Page 25: CIC-310 CPLD/FPGA Development System

Input: P01, P02, P03, P04, P06, P07, P08

Output : P55, P56, P57, P58

Exp1: Basic logic circuit design (Primal.gdf)

Specification:

Input: DIP switchesOutput: LED display

Relation:P55 = !P01P56 = P02 & P03P57 = P04 # P06 P58 = P07 $ P08

! => NOT& => AND# => OR$ => XOR

Page 26: CIC-310 CPLD/FPGA Development System

P01

P02

P03

P04

P06

P07

P08

P55

P56

P57

P58

Step 1: Programming by graphic editor

Page 27: CIC-310 CPLD/FPGA Development System

Step 3: Save&Compile (Max+Plus II / Compiler)

Step 2: Assign Devices (Assign / Devices)

Page 28: CIC-310 CPLD/FPGA Development System

Step 4: Simulation ( 1. Max+Plus II / Waveform Editor ) ( 2. Max+Plus II / Simulator)

Page 29: CIC-310 CPLD/FPGA Development System

Step 4: Pin Assignment ( Max+Plus II / Floorplan Editor)

Page 30: CIC-310 CPLD/FPGA Development System

Step 5: Download the program

Download the program to FPGA and execute the program

Add the program to SEEPROM

Execute the program from SEEPROM

Page 31: CIC-310 CPLD/FPGA Development System

Program by Text Editor --- Primal.tdf

The rest design steps are the same

Page 32: CIC-310 CPLD/FPGA Development System

Exp2: Binary-to-16-segment decoder

Specification:

Input: DIP switchesOutput: 16-segment display

Relation:6 bit inputs are decoded to 16-segment display as:

Numerical number : 0~9Alphabet letters : A~Z Math Operators: * , +,-,/

Why you need 6-bit input? Input: P01, P02, P03, P04, P06, P07

Output : 16-segment display

0~9 10A~Z 26 * ,+,-,/ 4

10+26+4=40 2^6 = 64 > 40

Page 33: CIC-310 CPLD/FPGA Development System

Program by Text Editor --- 16segb.tdf

.

.

.

a1 a2 b1 b2 c1 c2 d1 d2 e1 e2 g1 g2 h1 h2 i1 i2 /p

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Symbol

Position

Page 34: CIC-310 CPLD/FPGA Development System

16-segment

FPGA

8K 10k16-

segmentFPGA

8K 10k

A1 P13 P16 E2 P23 P27

A2 P14 P17 G1 P24 P28

B1 P15 P18 G2 P25 P29

B2 P16 P19 H1 P27 P30

C1 P18 P21 H2 P28 P35

C2 P19 P22 I1 P29 P36

D1 P20 P23 I2 P30 P37

D2 P21 P24 DP P63 P64

E1 P22 P25 C-SEL P23 P27

Table 1-6 16 segment display pin-out (8k-84pin)

1

2

Pin Assignment (1)

Page 35: CIC-310 CPLD/FPGA Development System

P13 P14

P15

P16

P18P19

P20

P21

P22 P23

P24

P25

P27

P28

P29

P30

P63

a1 a2 b1 b2 c1 c2 d1 d2 e1 e2 g1 g2 h1 h2 i1 i2 /p

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

13 14 15 16 18 19 20 21 22 23 24 25 27 28 29 30 63

SymbolSegment

Pin

Pin Assignment (2)

Page 36: CIC-310 CPLD/FPGA Development System

Show Result

16 17 18 19 21 22 23 24 25 27 28 28 30 35 36 37 64

a1 a2 b1 b2 c1 c2 d1 d2 e1 e2 g1 g2 h1 h2 i1 i2 /pSymbolFPGA Pin

FPGA

JP8 JP9 JP10

JP8 JP9 JP10

Page 37: CIC-310 CPLD/FPGA Development System

Exp3: Counters

Specification:

Input: Enable: Sw1_1 Reset: Sw1_2 Clock: SWP3

Output: LED display

Relation:The 4-bit ripple counter repeats itself for every 2^4 (16) clock pulses. :

Input: Sw1_1, p01 (Enable) Sw1_2, P02 (Reset) SWP3, P83 (Clock)

Output : P55, P56, P57, P58

Construct a 4-bit asynchronous counter by T flip-flops

Page 38: CIC-310 CPLD/FPGA Development System

Asynchronous Counter: Program by Graphic Editor --- 4slcnt.gdf

Page 39: CIC-310 CPLD/FPGA Development System

Asynchronous Counter: Program by Text Editor --- 4slcnt.gdf

TFF primitive

Page 40: CIC-310 CPLD/FPGA Development System

Asynchronous Counter: Program by Text Editor --- 4slcnt.gdf

FF[]=FF[]-1;

Page 41: CIC-310 CPLD/FPGA Development System

Synchronous Counter: Program by Graphic Editor --- ptcnt8.gdf

Page 42: CIC-310 CPLD/FPGA Development System

Synchronous Counter: Program by Text Editor --- ptcnt8t.tdf

Page 43: CIC-310 CPLD/FPGA Development System

Asynchronous Counter

Synchronous Counter

Delay Matrix

Page 44: CIC-310 CPLD/FPGA Development System

4 Digit Counter: Frequency Counter --- pdec9999.tdf

Input: ClockOutput: LED Display (Counting 0~9999 in binary format)

Page 45: CIC-310 CPLD/FPGA Development System

SA SB SC SD SE SF SG

7 segment displayer --- 7segd.tdf

Input: DIP switch

Output: 7 segment displayer

Page 46: CIC-310 CPLD/FPGA Development System

4 Digit Counter: Parallel mode --- 4dec7sp.tdf

Require Pins: 6 x 4 = 24

0 1 2 3 4 5 76 8 9 0 1 2 3 4 5 76 8 90 1 2 3 4 5 76 8 9

Page 47: CIC-310 CPLD/FPGA Development System

4 Digit Counter: Serial Scan mode --- 4dec7sn.tdf

Require Pins: 6 x 1 + 4 = 10

0 1 2 3 4 50 0 0 0

Page 48: CIC-310 CPLD/FPGA Development System

PA1

PA2

PA3

PA7

PA6

PA4

PA5

P13

P14

P15

P20

P19

P16

P18

P22P23P24P25P27

5x7 Matrix DOT display (dot_test.tdf)

Exp4: 5x7 dot matrix display

Page 49: CIC-310 CPLD/FPGA Development System

5x7 DOT Matrix display (dot_test.tdf)

PA1

PA2

PA3

PA7

PA6

PA4

PA5

P13

P14

P15

P20

P19

P16

P18

P22 P23 P24 P25 P27

TRY 57dots.hex !!!

1010101

Counter

Page 50: CIC-310 CPLD/FPGA Development System

Individual Mode --- require 16 ports

Scan Mode --- require 8 ports

P34

P35

P36

P37

P39

P40

P41

P42

P43

P44

P45

P46

P48

P49

P50

P51

Parallel Mode => PKI1, PKI2, PKI3Serial Mode => SCN1, SCN2, SCN3

Exp5: Keypad

Page 51: CIC-310 CPLD/FPGA Development System

A: Mechanical Shock Wave Test ( key_test.tdf )

Input: SW0

Output : P53, P54, P58, P59

Page 52: CIC-310 CPLD/FPGA Development System

B: Debounce Circuit Design (debounce_test.tdf )

Detect 16 times

Page 53: CIC-310 CPLD/FPGA Development System

C: Keypad Circuit Design with debounce function --- Parallel Mode (16_KEY_Parallel.tdf)

Parallel Mode => PKI1, PKI2, PKI3Serial Mode => SCN1, SCN2, SCN3

Page 54: CIC-310 CPLD/FPGA Development System

D: Keypad Circuit Design with debounce function --- Scan Mode (16_key_scan.tdf)

Parallel Mode => PKI1, PKI2, PKI3Serial Mode => SCN1, SCN2, SCN3

Page 55: CIC-310 CPLD/FPGA Development System

DEB

DEB

DEB

DEB

3

O R 2

1 SR[ ]=SR[ ]

0 SR[ ]=SR[ ]+1

S[1..0]

DECODE

00

01

10

11

DEB [3..0]

Page 56: CIC-310 CPLD/FPGA Development System

E: Keypad Circuit Design with debounce function & 7-segment display (.tdf)

Page 57: CIC-310 CPLD/FPGA Development System

CPLDFPGA

DSP

MPU