1 of 34

ES07 - Progettazione VHDL con Vivado

FB - 12.2020 - v1.0

2 of 34

EDA Playground e Progettazione in VHDL

L’applicazione Vivado per la progettazione lo sviluppo e la sintesi di codice Vhdl

2

© FB - 12.2020

3 of 34

Sommario

3

© FB - 12.2020

4 of 34

Obiettivi didattici

4

5 of 34

Obiettivi didattici

  • Creazione di un progetto con l’IDE Vivado
  • Implementazione su scheda FPGA del progetto vhdl

5

© FB - 12.2020

6 of 34

Introduzione teorica

6

7 of 34

Vivado

7

© FB - 12.2020

8 of 34

Esercitazione

8

9 of 34

Creazione progetto

  • Creiamo la cartella D:\Lavori\2020-21\3L\
  • Avviamo “Vivado 2020.2”
  • Create project wizard
  • Nome progetto: ES13-HalfAdder�Selezioniamo create project subdirectory

9

© FB - 12.2020

10 of 34

wizard

  • RTL project
  • Non è necessario aggiungere file sorgenti adesso
  • Non è necessario aggiungere file Constraints adesso
  • Per le Nexys 4: scegliamo Artix-7, package csg324, part: xc7a100tcsg324-3

10

© FB - 12.2020

11 of 34

Approvazione

11

© FB - 12.2020

12 of 34

Creazione della documentazione del progetto

  • Creiamo un nuovo documento per il nostro progetto
  • Titolo: ES13 - Progettazione di un HalfAdder in VHDL con Vivado
  • aggiungiamo versione, data e autore
  • aggiungiamo il sommario

12

© FB - 12.2020

13 of 34

Introduzione

  • Descrivere l’obiettivo dell’esercitazione
  • Aggiungere una introduzione teorica

13

© FB - 12.2020

14 of 34

Introduzione

14

© FB - 12.2020

15 of 34

Progetto

15

© FB - 12.2020

16 of 34

Sviluppo

  • Su Vivado selezioniamo Add Sources -> add or create design sources -> create file -> HA.vhd
  • Definiamo i pin di ingresso e di uscita dell’entity, rispettando fedelmente (anche con maiuscole e minuscole) lo schema disegnato nella fase precedente

16

© FB - 12.2020

17 of 34

Sviluppo

  • Apriamo il file appena creato (doppio click da Design Sources)
  • Scriviamo il codice vhdl, avendo cura di indicare le informazioni sul file nelle prime righe di codice. Manteniamo la corrispondenza con l’entity disegnata.
  • Salviamo il file creato

17

© FB - 12.2020

18 of 34

Sviluppo

  • Se il codice è scritto correttamente in alto a destra viene indicato visivamente il controllo della sintassi

18

© FB - 12.2020

19 of 34

Sviluppo

  • Verifichiamo lo schema di partenza confrontandolo con lo schematic RTL creato da Vivado.

19

© FB - 12.2020

20 of 34

Collaudo - Specifiche di collaudo

  • Definiamo come va stimolata la nostra entity per dimostrarne il corretto funzionamento
  • Avendo l’Half Adder solo due bit di ingresso, possiamo testare tutte le possibili combinazioni degli ingressi in modo da testare l’intera tabella di verità

20

© FB - 12.2020

21 of 34

Collaudo - Test bench

  • Su Vivado selezioniamo Add Sources -> add or create simulation source -> create file -> HA_TB.vhd
  • Specifichiamo il nome dell’architecture

21

© FB - 12.2020

22 of 34

Collaudo - Test bench

  • Apriamo il file appena creato
  • Scriviamo il codice vhdl del testbench in base alle specifiche di collaudo precedentemente definite
  • Salviamo il file creato

22

© FB - 12.2020

23 of 34

Collaudo - Run Simulation

  • Avviamo la simulazione su Vivado
  • posizionandosi con il cursore sul grafico controlliamo la corrispondenza con le specifiche di collaudo

23

© FB - 12.2020

24 of 34

Collaudo - Run Simulation

24

© FB - 12.2020

25 of 34

Implementazione

  • Scarichiamo il file XDC della Nexys 4 dal sito della Digilent (o dal nostro pc se lo abbiamo già scaricato) (Attenzione! il file deve avere estensione .xdc)
  • Su Vivado selezioniamo Add Sources -> add or create constraints -> add file -> e aggiungiamo il file scaricato, selezioniamo Copy constraints into project

25

© FB - 12.2020

26 of 34

Implementazione

  • Apriamo e modifichiamo il file .xdc
  • Togliamo i commenti alle righe relative agli ingressi e uscite della nostra entity
  • rinominiamo sw[0] A e sw[1] B
  • rinominiamo led[0] S e led[1] C
  • salviamo il file con le modifiche effettuate

26

© FB - 12.2020

27 of 34

Implementazione

  • Generiamo la bitstream e aspettiamo che venga creata

27

© FB - 12.2020

28 of 34

Implementazione

  • Adesso possiamo caricare il file Bitstraem sulla scheda Nexys 4 (Program device)
  • e verificare il funzionamento dell’Half Adder

28

© FB - 12.2020

29 of 34

Elenco revisioni

  • Aggiungere al progetto la pagina delle revisioni
  • Salvare la presentazione in pdf
  • Raccogliere la presentazione e i file della cartella “ES07-HalfAdder.srcs” in un unico file .7z da caricare su drive e inserirne il link nella pagina delle revisioni

29

© FB - 12.2020

30 of 34

Valutazione

30

31 of 34

Griglia di valutazione

31

© FB - 11.2020

32 of 34

Grazie per l’attenzione

33 of 34

Link/Riferimenti

  • https://fb-labs.blogspot.com/

33

© FB - 05.2020

34 of 34

Revisioni

v1.0 27/12/20 - versione iniziale (201920_ES03, 201920_ES04) - file progetto

34

© FB - 12.2020