Sunteți pe pagina 1din 84

Introducere în programarea circuitelor FPGA

Îndrumător de laborator

în programarea circuitelor FPGA Îndrumător de laborator George Dan Mois , Departamentul de Automatică Universitatea

George Dan Mois

,

Departamentul de Automatică Universitatea Tehnică din Cluj-Napoca

Cluj-Napoca

2013

Cuprins

Cuprins

Listă de figuri

1 Circuite reconfigurabile

1.1

1.2

1.3

1.4

1.5

Tema

Obiective

.

.

.

.

FPGA – Field-Programmable Gate Array

.

.

.

.

.

.

.

1.3.6.1

1.3.6.2

Xilinx R ISE TM

Fluxul de proiectare

Configurarea circuitelor FPGA Xilinx R

1.3.3.1

FPGA Virtex-II Pro

.

.

. Circuite reconfigurabile

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Aspecte teoretice

1.3.1

1.3.2

1.3.3

. Blocul Logic Programabil .

.

1.3.4

1.3.5

1.3.6

Lansarea aplicat , iei

Project Navigator

.

.

.

.

.

.

.

.

.

.

Implementarea unei port , i logice simple în FPGA

Exercit

,

Pasul 1. Lansarea aplicat , iei

Pasul 2.

3.

Pasul 4.

Pasul 5.

Pasul 6.

Pasul 7.

Pasul

.

.

.

.

Crearea unui nou proiect

Adăugarea unui nou fis ier sursă

.

Asignarea locat iei pinilor Configurarea dispozitivului

.

Crearea unui circuit S I

.

.

,

.

.

.

.

.

.

,

.

.

,

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Programarea

.

.

.

.

.

.

.

.

ii

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

Simulare folosind Xilinx R ISE TM Simulator

2.1

2.2

2.3

.

Tema

Obiective

Aspecte teoretice

2.3.1 Simulare funct ională folosind simulatorul ISE TM (ISE TM Simulator) [1]

2.3.2 Verificarea funct ionalităt ii folosind simularea comportamentală Pasul 1. Crearea semnalelor de undă pentru test [1]

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

,

.

.

,

.

.

.

.

.

.

.

.

.

.

,

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

i

 

i

iv

1

.

.

.

.

.

.

.

.

.

.

.

1

.

.

.

.

.

.

.

.

.

.

.

1

.

.

.

.

.

.

.

.

.

.

.

2

.

.

.

.

.

.

.

.

.

.

.

2

.

.

.

.

.

.

.

.

.

.

.

2

.

.

.

.

.

.

.

.

.

.

.

5

.

.

.

.

.

.

.

.

.

.

.

5

.

.

.

.

.

.

.

.

.

.

.

6

.

.

.

.

.

.

.

.

.

.

.

6

.

.

.

.

.

.

.

.

.

.

.

9

.

.

.

.

.

.

.

.

.

.

.

9

.

.

.

.

.

.

.

.

.

.

.

9

 

10

.

.

.

.

.

.

.

.

.

.

.

10

.

.

.

.

.

.

.

.

.

.

.

10

.

.

.

.

.

.

.

.

.

.

.

11

.

.

.

.

.

.

.

.

.

.

.

12

.

.

.

.

.

.

.

.

.

.

.

13

.

.

.

.

.

.

.

.

.

.

.

15

.

.

.

.

.

.

.

.

.

.

.

17

.

.

.

.

.

.

.

.

.

.

.

18

 

21

.

.

.

.

.

.

.

.

.

.

.

21

.

.

.

.

.

.

.

.

.

.

.

21

.

.

.

.

.

.

.

.

.

.

.

21

 

22

23

23

CUPRINS

 

Pasul 2. Simularea operării circuitului [1]

 

.

.

.

2.4 Magistrale .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2.5 Exercit ii

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

 

,

3 Descrierea fluxului de date în VHDL

 

3.1 Tema

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3.2 Obiective

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3.3 Aspecte teoretice

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3.3.1

VHDL .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3.3.2

Niveluri de abstractizare .

.

.

.

.

.

.

.

.

.

.

.

.

3.4 Structura unui program VHDL

 

.

.

.

.

.

.

.

.

.

.

.

.

.

3.4.1 BIBLIOTECI

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3.4.2 ENTITATEA

 

.

.

.

.

.

.

.

.

.

.

.

.

3.4.3 ARHITECTURA

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3.4.4 Elemente de bază ale limbajului

.

.

.

.

.

.

.

.

3.5 Descrierea fluxului de date – Dataflow Description

.

.

3.5.1 Atribuirea condit ională a semnalelor

 

.

.

.

.

.

.

 

,

3.5.2 Atribuirea selectivă a semnalelor

 

.

.

.

.

.

.

.

.

3.6 Implementarea unei port , i logice simple în FPGA

Pasul 3.

Pasul 4. Crearea unui circuit S I

Adăugarea unui nou fis ier sursă VHDL

,

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

 

,

3.7 Exercit

ii

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

,

4 Descrierea secvent ială a circuitelor logice în VHDL

,

4.1 Tema

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4.2 Obiective

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4.3 Aspecte teoretice

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4.4 Descrierea secvent ială – Sequential Description

,

Procese

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4.4.2 Instruct iunea secvent ială de atribuire de semnal

4.4.1

 

,

,

4.4.3 Atribuirea de valori variabilelor .

.

.

.

.

.

.

.

.

4.4.4 Instruct iunea if-then-else

 

.

.

.

.

.

.

.

.

.

.

 

,

4.4.5 Instruct iunea case

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

 

,

4.4.6 Alte instruct iuni secvent iale .

.

.

.

.

.

.

.

.

.

.

 

,

,

4.5 Magistrale .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4.6 Exercit ii

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

,

5 Descrierea structurală a circuitelor logice în VHDL

 

5.1 Tema

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5.2 Obiective

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5.3 Aspecte teoretice

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5.4 Descrierea structurală – Structural Description

 

5.4.1 Semnale interne .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5.4.2 Componente

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

 

ii

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

28

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

32

 

33

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

36

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

38

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

38

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

40

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

40

 

42

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

42

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

44

 

47

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

.

.

.

.

.