Home Forum Scrivi una domanda di elettronica Primi Passi per programmare in vhdl un MAX2 EPM240T100C5N tramite il software altera ultima versione free

Questo argomento contiene 16 risposte, ha 3 partecipanti, ed è stato aggiornato da  sigmundnathan 2 anni, 9 mesi fa.

Stai vedendo 15 articoli - dal 1 a 15 (di 17 totali)
  • Autore
    Articoli
  • #58532

    Salve a tutti sono un neofita dell’argomento.
    Ho appena dato un esame di reti logiche e ho a disposizione una scheda per programmare il micro sopra citato dell’altera ho anche a disposizione un libro che parla dei comandi per programmare in vhdl .
    Ho solo un problema non avendo ancora dato l’esame di inglese non riesco ad accedere ai passi necessari per programmare il micro con quartus di altera in vhdl.
    Edito il programma su quartus di altera lo salvo però non mi si genera i file necessari per passare alla programmazione hardware del micro.
    Non so se è un errore di partenza o dimentico qualche passo.
    Insomma non se mi sono spiegato bene ma qualcuno mi può dare una mano nel cominciare a utilizzare il software quartus altera per programmare il micro sopracitato sempre via hardware cosi da mettere in pratica quello che ho studiato in teoria .
    Vi ringrazio della vostra attenzione.

    #70715

    Mingele
    Membro

    ciao, scusa ma non mi è chiara una cosa, quartus dovrebbe essere in italiano, o se non lo è hai la possibilità di scaricare la versione free dal sito di Altera,se il tuo problema è solo l’inglese ti consiglio di farlo altrimenti se hai qualche errore durante la sintesi,facci capire che tipo di errore riscontri

    #70719

    Questo è il programma di prova che imposto preso dal libro e l’ho provato con la versione quartus ultima free e quella 9.0.

    library ieee;
    use ieee.std_logic_1164.all;

    entity And2 is
    port(x,y : in BIT; z: out BIT) ;
    end entity And2 ;

    architecture ex1 of And2 is
    begin
    z <= x and y ;
    end architecture ex1 ;

    Questi sono gli errori che mi riporta entrambi le versioni

    Info: *******************************************************************
    Info: Running Quartus II 32-bit Analysis & Synthesis
    Info: Version 11.1 Build 173 11/01/2011 SJ Full Version
    Info: Processing started: Thu Dec 15 18:58:41 2011
    Info: Command: quartus_map –read_settings_files=on –write_settings_files=off Vhdl1 -c Vhdl1
    Info (20030): Parallel compilation is enabled and will use 2 of the 2 processors detected
    Warning (12018): Entity “And2″ will be ignored because it conflicts with Quartus II primitive name
    Info (12021): Found 2 design units, including 1 entities, in source file vhdl1.vhd
    Info (12022): Found design unit 1: And2-ex1
    Error (12007): Top-level design entity “Vhdl1″ is undefined
    Error: Quartus II 32-bit Analysis & Synthesis was unsuccessful. 1 error, 1 warning
    Error: Peak virtual memory: 262 megabytes
    Error: Processing ended: Thu Dec 15 18:59:15 2011
    Error: Elapsed time: 00:00:34
    Error: Total CPU time (on all processors): 00:00:18
    Error (293001): Quartus II Full Compilation was unsuccessful. 3 errors, 1 warning

    Comunque le versioni che trovo in giro usando anche google sono solo in inglese.
    Vi ringrazio della vostra attenzione con la speranza che trovi una soluzione per continuare la mia esperienza.

    #70720

    Mingele
    Membro

    premetto che io ho usato questo software per un esame ma il linguaggio da me usato era il Verilog,comunque da come vedo l’errore è unico:

    Error (12007): Top-level design entity “Vhdl1″ is undefined

    e si dovrebbe risolvere cliccando con il tasto destro sul file principale del progetto,nella finestra in alto a sinistra, dove sono i file appartenenti al progetto,e cliccando sull’opzione:” set as top-level entity”

    riprova a sintetizzare e facci sapere.

    #70727

    Ho provato settando il file presente nel punto indicato, io ci trovo un solo file ed è quello siglato VHD l’ho settato ho premuto il pulsante START ma mi da lo stesso errore.
    Ho fatto una serie di foto delle prove che ho fatto mi organizzo e se può essere utile le metto su google .
    Ti ringrazio della tua attenzione .

    #70743

    riporto il file dei messaggi della compilazione che di ma da ok però non trovo il file necessari per la programmazione hardware del dipdositivo che da quello che ho cvapito vengono generati con il pulsante start.

    Info: Quartus II Analysis & Synthesis was successful. 0 errors, 0 warnings
    Info: Peak virtual memory: 192 megabytes
    Info: Processing ended: Sat Dec 17 20:56:43 2011
    Info: Elapsed time: 00:00:06
    Info: Total CPU time (on all processors): 00:00:04
    Info: *******************************************************************
    Info: Running Quartus II Fitter
    Info: Version 9.0 Build 132 02/25/2009 SJ Full Version
    Info: Processing started: Sat Dec 17 20:56:50 2011
    Info: Command: quartus_fit –read_settings_files=off –write_settings_files=off plano -c plano
    Info: Parallel compilation is enabled and will use 2 of the 2 processors detected
    Info: Selected device EPM240T100C5 for design “plano”
    Info: Low junction temperature is 0 degrees C
    Info: High junction temperature is 85 degrees C
    Info: Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time
    Info: Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices
    Info: Device EPM240T100I5 is compatible
    Info: Device EPM240T100A5 is compatible
    Info: Device EPM570T100C5 is compatible
    Info: Device EPM570T100I5 is compatible
    Info: Device EPM570T100A5 is compatible
    Info: Fitter is using the Classic Timing Analyzer
    Info: Timing requirements not specified — optimizing circuit to achieve the following default global requirements
    Info: Assuming a global fmax requirement of 1000 MHz
    Info: Assuming a global tsu requirement of 2.0 ns
    Info: Assuming a global tco requirement of 1.0 ns
    Info: Assuming a global tpd requirement of 1.0 ns
    Info: Completed User Assigned Global Signals Promotion Operation
    Info: Completed Auto Global Promotion Operation
    Info: Starting register packing
    Info: Fitter is using Normal packing mode for logic elements with Auto setting for Auto Packed Registers logic option
    Info: Started processing fast register assignments
    Info: Finished processing fast register assignments
    Info: Finished register packing
    Info: Fitter preparation operations ending: elapsed time is 00:00:01
    Info: Fitter placement preparation operations beginning
    Info: Fitter placement preparation operations ending: elapsed time is 00:00:00
    Info: Fitter placement operations beginning
    Info: Fitter placement was successful
    Info: Fitter placement operations ending: elapsed time is 00:00:00
    Info: Slack time is -5.536 ns between source pin “x” and destination pin “z”
    Info: + Largest pin to pin requirement is 1.000 ns
    Info: – Longest pin to pin delay is 6.536 ns
    Info: 1: + IC(0.000 ns) + CELL(1.132 ns) = 1.132 ns; Loc. = Unassigned; Fanout = 1; PIN Node = ‘x’
    Info: 2: + IC(1.577 ns) + CELL(0.914 ns) = 3.623 ns; Loc. = Unassigned; Fanout = 1; COMB Node = ‘z~0′
    Info: 3: + IC(0.591 ns) + CELL(2.322 ns) = 6.536 ns; Loc. = Unassigned; Fanout = 0; PIN Node = ‘z’
    Info: Total cell delay = 4.368 ns ( 66.83 % )
    Info: Total interconnect delay = 2.168 ns ( 33.17 % )
    Info: Estimated most critical path is pin to pin delay of 6.536 ns
    Info: 1: + IC(0.000 ns) + CELL(1.132 ns) = 1.132 ns; Loc. = PIN_1; Fanout = 1; PIN Node = ‘x’
    Info: 2: + IC(1.577 ns) + CELL(0.914 ns) = 3.623 ns; Loc. = LAB_X2_Y4; Fanout = 1; COMB Node = ‘z~0′
    Info: 3: + IC(0.591 ns) + CELL(2.322 ns) = 6.536 ns; Loc. = PIN_3; Fanout = 0; PIN Node = ‘z’
    Info: Total cell delay = 4.368 ns ( 66.83 % )
    Info: Total interconnect delay = 2.168 ns ( 33.17 % )
    Info: Fitter routing operations beginning
    Info: Average interconnect usage is 0% of the available device resources
    Info: Peak interconnect usage is 0% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5
    Info: Fitter routing operations ending: elapsed time is 00:00:00
    Info: The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time.
    Info: Optimizations that may affect the design’s routability were skipped
    Info: Optimizations that may affect the design’s timing were skipped
    Warning: The Reserve All Unused Pins setting has not been specified, and will default to ‘As output driving ground’.
    Info: Generated suppressed messages file c:/altera/90/quartus/volo/plano/plano.fit.smsg
    Info: Quartus II Fitter was successful. 0 errors, 1 warning
    Info: Peak virtual memory: 199 megabytes
    Info: Processing ended: Sat Dec 17 20:56:58 2011
    Info: Elapsed time: 00:00:08
    Info: Total CPU time (on all processors): 00:00:04
    Info: *******************************************************************
    Info: Running Quartus II Assembler
    Info: Version 9.0 Build 132 02/25/2009 SJ Full Version
    Info: Processing started: Sat Dec 17 20:57:04 2011
    Info: Command: quartus_asm –read_settings_files=off –write_settings_files=off plano -c plano
    Warning: Can’t generate programming files because you are currently using the Quartus II software in Evaluation Mode
    Info: Quartus II Assembler was successful. 0 errors, 1 warning
    Info: Peak virtual memory: 151 megabytes
    Info: Processing ended: Sat Dec 17 20:57:07 2011
    Info: Elapsed time: 00:00:03
    Info: Total CPU time (on all processors): 00:00:01
    Info: *******************************************************************
    Info: Running Quartus II Classic Timing Analyzer
    Info: Version 9.0 Build 132 02/25/2009 SJ Full Version
    Info: Processing started: Sat Dec 17 20:57:14 2011
    Info: Command: quartus_tan –read_settings_files=off –write_settings_files=off plano -c plano
    Info: Parallel compilation is enabled and will use 2 of the 2 processors detected
    Info: Started post-fitting delay annotation
    Info: Delay annotation completed successfully
    Info: Longest tpd from source pin “x” to destination pin “z” is 6.165 ns
    Info: 1: + IC(0.000 ns) + CELL(1.132 ns) = 1.132 ns; Loc. = PIN_1; Fanout = 1; PIN Node = ‘x’
    Info: 2: + IC(1.867 ns) + CELL(0.200 ns) = 3.199 ns; Loc. = LC_X2_Y4_N3; Fanout = 1; COMB Node = ‘z~0′
    Info: 3: + IC(0.644 ns) + CELL(2.322 ns) = 6.165 ns; Loc. = PIN_3; Fanout = 0; PIN Node = ‘z’
    Info: Total cell delay = 3.654 ns ( 59.27 % )
    Info: Total interconnect delay = 2.511 ns ( 40.73 % )
    Info: Quartus II Classic Timing Analyzer was successful. 0 errors, 0 warnings
    Info: Peak virtual memory: 139 megabytes
    Info: Processing ended: Sat Dec 17 20:57:17 2011
    Info: Elapsed time: 00:00:03
    Info: Total CPU time (on all processors): 00:00:02
    Info: Quartus II Full Compilation was successful. 0 errors, 2 warnings

    Spero di trovare qualcuno che mi aiuti visto che sono ad un passo alla soluzione.
    Vi ringrazio della vostra attenzione

    #70744

    Mingele
    Membro

    io quando facevo un programma e lo volevo provare,(sulla demoboard di altera),generavo un file: name.sof e lo caricavo sulla scheda,ma questo file si creava automaticamente se facevo la sintesi completa facendo doppio click su ogni voce del menu “task”,sulla sinistra.
    Il tuo problema però credo sia la versione di Quartus:

    Warning: Can’t generate programming files because you are currently using the Quartus II software in Evaluation Mode

    infatti qui dice che non genera i file di programmazione perche stai usando la versione di valutazione.
    Ora non so se è la stessa cosa ma io usavo la student edition.

    #70758

    Mino_73
    Partecipante

    L’errore sembra essere il nome della tua Entity che va in conflitto con il nome di un componente di librerira di quartus. Basta Cambiarlo e dovrebbe andare.
    “Warning (12018): Entity “And2″ will be ignored because it conflicts with Quartus II primitive name” Ti che dice la entity sarà ignorata!!

    Quartus è un software moooooolto complesso e per usarlo non è sufficente conoscere il vhdl o il verilog. Bisogna conoscere bene anche il dispositivo che stai utilizzando e le pld/fpga in genere.

    Per quanto riguarda il progetto, prima di premere il tasto per la sintesi, devi fare tutta una serie di impostazioni
    Le principali operazioni sono:

    Assignments–> Device :Seleziona il dispositivoesatto che hai sulla tua scheda-
    premi il tasto “Device and pin Option” e nella voce Voltage assicurati che il voltaggio di default corrisponda a quello della tua scheda.

    Assignments–> Settings.
    General–> Top Level: Metti il nome della Entity che è Top level del tuo progetto
    File: Aggiungi tutti i file che hai scritto. verilog e vhdl anche misti non importa
    Le altre impostazioni per ora lasciale così. Comunque quartus mette a disposizione una breve descrizione del parametro che stai impostando per agevolare il set up del progetto

    A questo punto premi il tasto per eseguire l’analisi e la sintesi. al termine se non ci sono errori vai nel menù Assignments–>PinPlanner

    Da qui assegni i pin del tuo progetto ai pin fisici del dispositivo. Inoltre devi assicurarti che la funzione e la tensione di alimentazione del pin che stai assegnando sia corretta e corrisponda a come il dispositivo è connesso sulla scheda.
    Uno sbaglio nell’assegnazione della tesione può provocare la rottua del dispositivo. -dovresti avere il manuale di istruzioni e gli schemi della tua scheda verifica le assegnazioni prima di programmare il dispositivo.

    A questo punto puoi eseguire la compilazione completa di fitting. Se tutto ha fuozionato dovresti vedere nella directory del progetto due file con estenzione .sof .pof
    Per programmare la scheda devi utilizzare il programmer che si trova nel menù Tools.

    Questi sono solo i primi passi per eseguire il corretto Set Up di quartus ma ce ne sono almeno un centinaio per tenere sotto controllo tutto il processo di sintesi. Prova a scaricarti degli esempi dal sito Altera, ci sono molti esempi e tutorial.

    #70759

    Mino_73
    Partecipante

    La compilazione sembra aver avuto successo ma….

    Warning: Can’t generate programming files because you are currently using the Quartus II software in Evaluation Mode

    In pratica non hai installato la licenza e stai utilizzando il software in modalità Evaluation cioè di valutazione. In questa modalità non genera i file di programmazione. Vai sul sito altera e richiedi un file di licenza per la versione Free di Quartus. Ti arriverà una mail con il file di licenza. Vai nel menù Tool–>License setup e nelcampo License file metti il percorso del tuo file e il gioco è fatto!!

    Un cosiglio: Quartus è noto nell’ambiente per la quantità infinita di messaggi che fornisce durante tutto il processo di compilazione. Questi messaggi vanno sempre guardati perchè se c’è un problema quartus te lo dice. Purtroppo sono molti e c’è da perderci un pò di tempo!!

    #70774

    Volevo rispondere per ringraziare tutti e due dell’intervento non sto a spiegare tutti i passi che ho fatto ma diciamo che con il programma free sono riuscito a programmare la scheda ( grazie ai vostri consigli ) ho dovuto smanettare un po ma almeno posso incominciare a far girare qualche piccolo programma.
    Volevo chiedere solo un’altra cosa mi sapete consigliare un libro (possibilmente non inglese anche se dovrò impararlo se voglio andare avanti, poi devo anche dare l’esame) inerente a quartus.
    Per ringraziarvi vi posso dire virtualmente vi ofrro un caffè.
    Vi auguro buone feste.
    Vi ringrazio della vostra attenzione e spero di poter usufruire dei vostri consigli

    #70782

    Mino_73
    Partecipante

    Purtroppo libri su Quartus non ce nè sono in italiano, io non ne ho mai trovati, forse puoi trovare qualche tutorial su intenet. Il manuale di Quartus se non ricordo male è di oltre 3000 pagine, e a dire il vero neppure riesce a coprire i tanti aspetti del software. Sono quasi 10 anni che ci lavoro, ho iniziato dalla versione 4.0 e ancora ci sono aspetti del software che non conosco bene!! Il mio consiglio è iniziare dagli esempi e i tutorial che trovi sul sito altera, poi con google traduci le parti in inglese che non capisci.
    Ti posso consigliare un buon libro su fpga e pld in italiano, credo sia l’unico in circolazione i il titolo è “Introduzione alle logiche programmabili” – qui trovi l’ultima versione http://www.pangloss.it/libro.php?isbn=1000000266238&id=11513

    #70781

    Mingele
    Membro

    Sicuramente non sarò ai livelli di Mino, poichè ho usato quartus solo per sostenere un’esame e forse in futuro lo userò per la tesi,e come ti dicevo io ho studiato il linguaggio verilog.Tutto questo dal libro scritto dal mio professore,che non sto qui a pubblicizzare, però se vuoi dargli un’occhiata fammi sapere e ti do il titolo,ci sono progetti realizzati con l’ambiente di Altera e un’introduzione alle fpga.
    Colgo volentieri i tuoi ringraziamenti a approfitto per auguravi un Buon Natale e felice anno nuovo!

    #70827

    Ne aprofitto per notare una cosa, espongo il mio programma:

    library ieee;
    use ieee.std_logic_1164.all;
    library altera;
    use altera.altera_syn_attributes.all;

    entity porta1 is
    port (x, y, c : in BIT; z: out BIT);
    end entity porta1;

    architecture ex1 of porta1 is
    begin
    z <= x or y or c;
    end architecture ex1;

    La versione del programma quartus è 11.1sp1 web edition free credo che ne hanno lanciato una versione più aggiornata ma non ho avuto la possibilità di controllare.
    La cosa che ho notato con questa versione e che (ovviamente non so se è un errore mio o del programma) con il comando OR il programma funziona come se fosse inserito una AND e con i comando AND viceversa(controllerò se ci sono versioni aggiornate).
    Dicevo ne aprofitto per chiderti il titolo del libro del tuo professore.
    Vi ringrazio della vostra attenzione

    #70826

    Mingele
    Membro

    non saprei dirti per quanto riguarda la and e la or perchè non ho mai avuto problemi,o non me ne sono mai accorto,comunque il titolo del libro è:
    “Progetto di sistemi elettronici digitali basati su dispositivi FPGA” del prof. Ettore Napoli

    #70828

    Mino_73
    Partecipante

    Nessun baco in Quartus, prova a lanciare RTL viewer e troverai il tuo “OR” a tre ingressi!! Forse hai sbagliato nella procedura di test. A me Quartus fornisce il risultato corretto!! Quartus ha diversi bachi ma non di così banali, vai tranquillo!!! :-)

Stai vedendo 15 articoli - dal 1 a 15 (di 17 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.