Bhè, adesso ho un problema. Sto implementando un contatore updwon con svariate funzioni (impostazioni di valore iniziale e finale, impostazione di un valore qualsiasi ecc); il conteggio al contrario funziona correttamente, quello in avanti non funziona
Credo che il problema sia in questa parte di codice:
- Codice: Seleziona tutto
UD <= UD + '1' ;
poiché UD non ha una dimensione predefinita, ma è parametrizzato con una variabile N, io dovrei scrivere tutti 0 tranne l'ultimo bit che è 1; in sostanza il valore binario corrispondente al 1 decimale, ma con un numero N di bit che non conosco a priori (nel caso di 4 bit, quindi, 0001).
Ho letto che con quel codice sopra quella somma fa si che l'1 venga "adattato" alla dimensione di UD.
Potrebbe anche essere giusto eh, non so se è quello il problema, ma il codice dopo è praticamente identico sia per la funzione di conteggio in avanti che indietro, essendo appunto UD il valore che viene sommato dal contatore (che deve essere 1 nel caso di avanti, -1 nel caso di indietro). Questo mi fa essere molto fiducioso sul fatto che sia quella riga di codice il problema.
Ho provato anche con i doppi apici, ma non funziona.