Xilinx ISE Tutorial File -> New Project...



Documenti analoghi
TUTORIAL 1. Gestione di periferiche di I/O su scheda XSA50. A cura di De Pin Alessandro

Esercitazione sul programma XILINX ISE 4.2i.

Invio SMS. DM Board ICS Invio SMS

Guida alla registrazione on-line di un DataLogger

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

SOMMARIO... 3 INTRODUZIONE...

Autorizzazioni Kronos Web

OwnCloud Guida all installazione e all uso

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Guida. Macchina Scratch

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Gestione Rapporti (Calcolo Aree)

Importazione dati da Excel

Gestione delle librerie in OrCAD Capture 9.2 ed utilizzo di modelli SPICE forniti dai costruttori

15J0460A300 SUNWAY CONNECT MANUALE UTENTE

Gestione delle Presenze WorkFlow Manuale Operativo

Guida all utilizzo del web tool di gestione accesso ai Datacenter

SendMedMalattia v Manuale d uso

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Introduzione a Dev-C++

Manuale Utente Albo Pretorio GA

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

On-line Corsi d Informatica sul web

POLIAGE GUIDA RAPIDA

finestra di manager di progetto o di struttura di progetto FIG.1

Integrazione del progetto CART regione Toscana nel software di CCE K2

1 ACCESSO AL 3 2 CARICAMENTO DELLE RICHIESTE/PRESTAZIONI MONITORAGGIO DELLE RICHIESTE DOWNLOAD ESITI...

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA

Utilizzo della chiavetta SE 50UMTS per la navigazione Web tramite PC

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

ISTRUZIONI PER LA GESTIONE BUDGET

ESERCITAZIONI DI ELETTRONICA I

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans

Software Gestionale Politiche Giovanili

Manuale Utente. Gestione Richieste supporto Data Warehouse. Della Ragioneria Generale dello Stato. Versione 1.0. Roma, Ottobre 2015

ACCESSO AL SISTEMA HELIOS...

GE Fanuc Automation. Page 1/12

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Procedura di creazione di un set di dischi di ripristino del sistema.

GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO

2.7 La cartella Preparazioni e CD Quiz Casa

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev

INPS. Area Aziende. Manuale utente: Procedura di gestione delle deleghe

Capitolo 9. Figura 104. Tabella grafico. Si evidenzia l intera tabella A1-D4 e dal menù Inserisci si seleziona Grafico. Si apre la seguente finestra:

GUIDA UTENTE MONEY TRANSFER MANAGER

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

GENERAZIONE PREVENTIVI

PROCEDURA PER LA GESTIONE ESAMI DI STATO AREA ALUNNI AXIOS

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Procedure di ripristino del sistema.

CREARE UN QUIZ SU MOODLE

Gestore Comunicazioni Obbligatorie - VARDATORI - Progetto SINTESI Dominio Provinciale Modulo Applicativo:COB Procedura VARDATORI

S.I.N. S.R.L. SISTEMA INFORMATIVO NAZIONALE

La catalogazione con LIBERO Modulo Catalogazione

IRSplit. Istruzioni d uso 07/10-01 PC

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

INTRODUZIONE PRIMO ACCESSO

AD HOC Servizi alla Persona

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

1. CODICE DI ATTIVAZIONE 2. TIPOLOGIE GARANZIE 3. CONFIGURAZIONE NUMERI DI SERIE 4. DOCUMENTI

Configurazione di base DG834

Progetto INCOME. Manuale Utente Operatore Installazione

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Attivazione della connessione PPTP ADSL

Raggruppamenti Conti Movimenti

Guida al CRM INGENIA Group

Come modificare la propria Home Page e gli elementi correlati

LITESTAR 4D v Manuale d Uso. WebCatalog Catalogo Elettronico interattivo su Internet. Luglio 2013

SCRUTINIO ON LINE 2 PERIODO

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Integrazione InfiniteCRM - MailUp

Introduzione all uso di Eclipse

2009 Elite Computer. All rights reserved

Manuale Utente. Gestione Richieste supporto BDAP. Versione 1.0

Gipse: Gestione Integrata Pronto Soccorso Emergenza

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Procedure di ripristino del sistema.

Procedura SMS. Manuale Utente

B R E V E G U I D A ( V I S I S L A B C O F F E E ) Breve guida page 1

Aruba Sign 2 Guida rapida

L amministratore di dominio

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

MANUALE D USO MANUALE D USO

Costruzione del layout in gino cms

Guida Sintetica sulle operazioni iniziali per l'utilizzo di Scuolanext

Transcript:

Xilinx ISE Tutorial L obiettivo di questo tutorial è il mappaggio di una semplice porta logica AND su una particolare FPGA, la Xilinx Spartan 3E, integrata nella board Digilent Nexys 2 500K, che utilizzeremo come riferimento per le nostre successive esercitazioni. Per far ciò è di fondamentale importanza fissare alcune nozioni di base per l utilizzo del tool Xilinx ISE, che saranno utili per l esecuzione di progetti di maggiore complessità. Prima di tutto, eseguiamo Xilinx ISE 10.1 effettuando un doppio click sull icona posizionata sul desktop della macchina virtuale e creiamo un nuovo progetto da File -> New Project.... A questo punto è necessario specificare il nome e la directory del progetto, utilizzando il valore di default (HDL) come Top Level Source Type: 1

Lo step successivo è la definizione su ISE delle caratteristiche dell FPGA che utilizzeremo per la sintesi del sistema, che andremo a descrivere sottoforma di codice verilog. Nel nostro caso, è necessario utilizzare la seguente configurazione per la Digilent Nexys 2: Saltiamo i successivi due step, cliccando su Next, e terminiamo la creazione del progetto. Nel caso in cui si vogliano effettuare delle modifiche alle proprietà dell FPGA, lo si può fare dalla sezione Sources, che compare in alto a sinistra nella finestra di Xilinx ISE, cliccando col tasto destro del mouse su xc3s500e-4fg320 ->Properties... oppure direttamente da Source -> Properties. Per descrivere il design, aggiungiamo una serie di file Verilog al progetto da Project -> New Source... mentre se si desidera integrare alcuni file già esistenti, creati ad esempio tramite ModelSim, lo si può fare da Project -> Add Copy of Source... specificando il path di questi ultimi. Nel caso in esame, creiamo un nuovo file di tipo Verilog Module, lo nominiamo (tipicamente viene creato un file verilog per ogni modulo del progetto, utilizzando come nome l identificativo del modulo) e lo integriamo nel progetto, mantenendo il path di default: 2

Andiamo avanti nei successivi step, terminando la creazione del modulo verilog, dato che risulta consigliabile definire l interfaccia del modulo direttamente tramite codice verilog. L altra possibilità offerta da ISE è quella di specificare l interfaccia del modulo verilog tramite la seguente schermata. In questo modo il tool si occupa di generare automaticamente il relativo codice verilog, lasciando poi al progettista il compito di definire l implementazione di tipo strutturale o RTL del modulo. Nel nostro caso, ad esempio, desideriamo instanziare una semplice porta logica AND a due ingressi, a singolo bit, quindi il top module avrà la seguente interfaccia (nel caso di ingressi o uscite a bus, è necessario definire l MSB ed l LSB): A questo punto, nella sezione Sources, comparirà il file appena creato, identificato da un simbolo a piramide che indica al progettista il fatto che tale modulo coincida con il top module del sistema: Effettuando un doppio click col tasto sinistro del mouse su top_module.v viene editato il file e sarà possibile specificare direttamente l implementazione del modulo, come è stato fatto in precedenza su ModelSim. Il codice verilog risultante è mostrato nella seguente figura: 3

Per verificare la correttezza dell implementazione del modulo o, nel caso di sistemi di maggiore complessità, dell intero progetto è necessario cliccare prima sul top module del sistema nel pannello Sources e poi nella sezione Processes -> Synthesize XST -> Check Sintax. Nel caso in cui il tool non dia esito positivo, verranno indicati sulla console degli errori delle informazioni utili che motivano l errata compilazione del codice ed il progettista dovrà apportare le necessarie modifiche. È fondamentale non trascurare l importanza dei Warning che potranno eventualmente comparire nella relativa console. Questi sono presenti tipicamente nel caso in cui il progettista abbia fornito un implementazione compilabile e quindi realizzabile fisicamente ma al tempo stesso possono rappresentare degli indicatori di una non corretta progettazione del sistema, valutabile tramite un opportuno testbench. ISE permette di valutare lo schematico RTL estratto a partire dal codice verilog tramite Synthesize XST -> View RTL Schematic e quello, a più basso livello, che utilizza le celle della libreria tecnologica associata all FPGA in considerazione tramite Synthesize XST -> View Technology Schematic: RTL Schematic Technology Schematic Sarà quest ultimo schematico quello utilizzato da ISE nel momento in cui verrà configurata l FPGA, effettuando il mapping del sistema sulle celle disponibili. 4

Come per ModelSim, anche il tool ISE della Xilinx permette di associare a ciascun modulo del sistema un determinato testbench, cliccando su Project -> New Source..., inserendo un file di tipo Verilog Test Fixture ed associandolo al modulo verilog da testare: A questo punto, selezioniamo Behavioral Simulation nel menù a tendina Sources for del pannello Sources, effettuiamo un doppio click col tasto sinistro del mouse sul testbench appena creato e stabiliamo le varie combinazioni dei segnali di input del modulo da testare. Per poter valutare l andamento delle forme d onda è necessario utilizzare ModelSim. ISE permette il collegamento diretto a tale tool di simulazione, cliccando su Simulate Behavioral Model, come mostra la precedente figura. Dopo aver verificato la correttezza delle forme d onda, è ora possibile passare ai successivi step di design che hanno come obiettivo il mapping del sistema sull FPGA di 5

riferimento ovvero sulla Xilinx Spartan 3E integrata nella Digilent Nexys 2. Per far ciò bisogna assegnare ai due ingressi ed alla singola uscita del modulo da testare, tre pin della board: nel caso in esame i due ingressi sono associati a due switch della scheda (SW0 e SW1: rispettivamente pin G18 e H18) mentre l uscita coincide con il led LD0 (pin J14) che si accenderà soltanto nel caso in cui entrambi gli switch vengano posti al valore logico alto. Questo può essere fatto inserendo nel progetto un nuovo file da Project -> New Source... -> Implementation Constraints File (.ucf): Le constraints per l assegnazione dei pin possono essere definite tramite la seguente lista di direttive, inserite nel file ucf appena creato: NET "a" LOC = "G18" ; NET "b" LOC = "H18" ; NET "y" LOC = "J14" ; oppure direttamente da interfaccia grafica utilizzando Xilinx PACE, cliccando nel pannello Processes su User Constraints -> Floorplan Area / IO / Logic Post Synthesis e definendo la posizione dei segnali d IO nel seguente modo: Se si sbaglia la procedura per fissare le constraints, il componente ha buone/ottime probabilità di bruciarsi! Per questo BISOGNA verificare che gli assegnamenti siano stati rispettati, andando a leggere il Pad Report da Implement Design -> Place&Route. A questo punto il nostro obiettivo è generare un Programming File (.bit) in modo da configurare correttamente l FPGA. Per poter ottenere tale file è necessario eseguire le seguenti successive fasi, selezionabili sul pannello Processes: 6

Synthesize - XST: Completamento fase di sintesi, tramite la generazione del modello per la simulazione del sistema in post-sintesi; Implement Design: viene effettuato il mapping del sistema, descritto sottoforma di codice verilog e tradotto in netlist (insieme di porte logiche elementari) dal tool nella fase di sintesi, sull FPGA; Generate Programming File: generazione del file bitstream di configurazione della Spartan 3E. È importante definire come la fase di sintesi abbia lo scopo di tradurre l eventuale implementazione RTL del sistema in uno stile di tipo strutturale, secondo il quale si ha una serie di porte logiche e celle standard, rese disponibili dall FPGA in considerazione, connesse in modo da ottenere la funzionalità logica desiderata. Il risultato del mapping del sistema sull FPGA può essere valutato tramite Implement Design -> Place&Route -> View/Edit Routed Design (FPGA Editor). Nel caso i vari step di design non diano esito positivo, è necessario analizzare i vari report generati e valutare le cause degli Errors/Warnings che vengono mostrati man mano nella relativa console, apportando le necessarie modifiche al codice verilog del sistema ed al file ucf in modo da ottenere la corretta configurazione. La conclusione della realizzazione del progetto sta nella programmazione della board Digilent Nexys 2 utilizzando il bitstream creato da ISE. La correttezza del sistema può essere valutata variando la posizione dei due switch, SW0 e SW1, e verificando la funzione logica ottenuta, osservando per quali valori dei segnali d ingresso il led LD0 risulta acceso. 7