Sto cercando di scrivere un codice in VHDL per un comparatore ad N bit generico.
Ha due ingressi ad N bit, controlla se sono uguali facendo un XOR tra ogni elemento dei due vettori: se risultano tutti zero vuol dire che sono uguali. (salvato ad esempio nel vettore Ris(N-1))
Controllare se tutti i bit sono zero sarebbe semplice se si conoscessero a priori i bit dei vettori in ingresso, mettendo in AND le uscite di ogni OR del processo precedente si otterrebbe un unica uscita Equal = 0 se sono uguali e Equal = 1 se non sono uguali
Il problema sorge nel renderlo generale, infatti non si conosce a priori il numero di bit in ingresso.
Una possibile soluzione sarebbe: ciclo for dentro un process, come lo si farebbe in qualsiasi altro linguaggio sequenziale:
- Codice: Seleziona tutto
AndCode: PROCESS()
variable Equal = 0;
for i in 0 to N-1
Equal := Equal AND Ris(i)
END PROCESS;
La mia domanda è: come viene sintetizzato un processo del genere all'interno dell'FPGA? E' qualcosa di combinatorio o sequenziale mascherato da un clock interno?
Grazie!

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)







