VHDL questione

T

trurl

Guest
Hi All,

Qualcuno potrebbe spiegare perché il seguente non sintetizzare?

Mi piacerebbe contare quante volte un segnale di ingresso è cambiato.

library IEEE;
uso IEEE.std_logic_1164.ali;
uso IEEE.STD_LOGIC_ARITH.ALL;
uso IEEE.STD_LOGIC_UNSIGNED.ALL;

test entità è
Port (a: in std_logic);
fine prova;

test di architettura di test è

iniziare
processo (a)
variabile contatore: integer: = 0;
iniziare

if (a'event) allora

counter: = counter 1;
end if;
end process;
fine prova;Ottengo il seguente errore:: unsupported Clock statement.

ERRORE: xst: 797 - ".../ test.vhd "linea ...:
dichiarazione Clock non è supportato.

Con i migliori saluti.

 
Compilatore si lamenta perché non si dispone di un segnale di clock.

nel vostro ente aggiungere un ingresso di clock

Clk (a, PORT: in std_logic);

nella propria architettura provare questo
processo (a, clk);

if (clk'EVENT e clk = '1 ') then
if (a = '1 ') then
counter: = counter 1;

questo è un modo per farlo, ci sono molti di più però.

La cosa principale è che hai un evento, ma non hai le condizioni con l'evento.

un altro problema che vedo è che il nome sia l'entità e l'architettura-test
I consigliamo di cambiare ente a testckt o test_counter o qualcos'altro.

Sono curioso anche il motivo per cui non si ha se le uscite?

<img src="http://www.edaboard.com/images/smiles/icon_confused.gif" alt="Confused" border="0" />Lo avete il conteggio, ma senza uscita non è possibile vedere i risultati.

Spero che questo aiuti
wa

 
1.Avete già specificato l'input, a, nell'elenco sensibilità, quindi non ti nemmeno bisogno a'event.

2.Presumo che si sta lavorando su un contatore di transizione in ingresso, uno, utilizzando un circuito asincrono.In questo caso, l'orologio non è necessario.Clock è necessaria quando si vuole progettare un circuito sincrono.

3.ieee.std_logic_unsigned.all uso; è un ridondante istruzione include.rimuoverlo.

4.Si tratta di una cattiva pratica di usare "test di prova".Se si desidera, test_rtl "l'uso di test", o "il comportamento di prova".

5.Non è possibile sintetizzare una pre-assegnazione "variabile contatore: integer: = 0;" e, peggio, se si assegna nel processo.il codice funziona in simulazione, ma non riuscirà in sintesi.pensare ancora una volta, come ci si aspetta un hardware di avere valore di default tra i cavi?durante la progettazione di circuiti digitali con HDL, dovete pensare hardware.

È possibile dichiarare variabile contatore: integer dopo l'architettura, ma prima di iniziare.
Allora si assegna counter: = 0; dopo iniziano ma prima del processo.
In questo modo, avete assegnare esplicitamente al di fuori del processo.Strumento di sintesi sarà un'occhiata a questo come un valore predefinito memorizzato in una LUT o SRAM.

Si dispone di un lungo cammino da percorrere prima di master VHDL.

 
Grazie gente.

Questa è la prima volta che faccio qualcosa con VHDL.Anzi, ho bisogno di progettare un contatore di transizione in ingresso.

BTW, potreste consigliare un buon libro sul VHDL per ottenere velocità fino a presto?

Con i migliori saluti.

 
Per principianti, vi raccomando
"VHDL Analisi e modellazione di sistemi digitali", Navabi Zainalabedin

A differenza di altri libri (che io considero come giunche che sono OK per la simulazione, ma non riescono a sintetizzare), questo libro vi dà buone basi, insegnare non stronzate, i buoni esempi e insegnando le cose fin dall'inizio, e vi porta a seguito di livello avanzato oltre la vostra laurea.

Un giorno, se vuoi diventare un professionista in VHDL, questi sono 2 buoni libri che ho sul serio consiglia:
1."Guida alla Progettazione VHDL", Peter J. Ashenden
2."VHDL for Designers", Lennart Lindh, Stefan Sjöholm

Per il momento-essere, sono seriamente troppo profonde per imparare.

Il segreto per fare una buona programmazione VHDL per la modellazione, simulazione e la sintesi è quello di essere prima in grado di comprendere appieno il circuito e fundamantals sistema digitale.
Come si può progettare un hardware quando non anche capire come funziona?

 
Ho usato per scaricare eBooks utilizzando un programma chiamato P2P eMule.Ho smesso di farne uso perché preferisco ricevendo me una copia stampata dalla librerie.Nondimeno si può provare a cercare per loro.Se siete coraggiosi per leggere i libri più profondo, forse si potrebbe iniziare ad esplorare se stessi in Ashenden o libro Sjöholm's.

 
Quando si utilizza uno strumento per sintetizzare il vostro disegno, è necessario kown quale schema può essere riconosciuto dal primo.
dedicare una maggiore attenzione sul modello di codice PLS.

 
Si potrebbe provare questo argomento.

Ho questo libro in copia cartacea me stesso e ho trovato molto buono per i principianti.

http://www.edaboard.com/viewtopic.php?t=63048&highlight=vhdl digital

Spero che questo aiuti
wa

 
Credo u bisogno di capire come contrastare opera?
Spesso comose alcuni FF quindi necessario per trasmettere il segnale clk contare fino a uscita.

 

Welcome to EDABoard.com

Sponsor

Back
Top