VHDL de freqüència

C

CODEMAR

Guest
Hola,

He d'aplicar una senzilla VHDL de freqüència per un projecte escolar.Ha de ser de 4 dígits multiplexats.(com alguns la FPGA macrocélulas).

Sé com aplicar el comptador i el BCD a set segments.és el multiplexat i posant junts les coses que necessito ajuda.

Pot algú em punt a un exemple?Ha de ser molt simple.

Gràcies per endavant.

CODEMAR

 
Multiplexat per a la qual necessita un comptador 0 .. 3, i sobre la base d'aquest valor del producte que les dades correctes.
El comptador és un lliure funcionament 2 bits comptador.
Suposo que la producció efectiva
s'ha detertmined en 4 registres de 8 bits.

Codi:entitat ....
és

port (

FREQIN: a std_logic;

7SEG: a std_logic_vector (7 downto 0);

Xifres: a std_logic_vectot (3 downto 0);

);

final ....senyal frequencyin: std_logic;

senyal 7segoutputDigit0: std_logic_vector (7 downto 0);

senyal 7segoutputDigit1: std_logic_vector (7 downto 0);

senyal 7segoutputDigit2: std_logic_vector (7 downto 0);

senyal 7segoutputDigit3: std_logic_vector (7 downto 0);senyal de comptador: std_logic_vector (1 downto 0);

senyal digiton: std_logic_vector (3 downto 0);

senyal de sortida: std_logic_vector (7 downto 0);
....
mesura de freqüència del codi

....
freqüència mida -> BCD

---- BCD -> 7segment (7segoutputDigitx)
- Aquest rellotge ha de ser un rellotge que té la freqüència de la multiplexació

- Taxa.
Si cada digital ha de ser "refrescat" 100 vegades com a segon després

- Aquest rellotge ha de ser de 400 Hz (4 sortides ...)

procés (muxclk)

començar

si rising_edge (muxclk)

comptador <= comptador 1;

END IF;

procés final;- Sortida de 7 segments

sortida <= 7segoutputDigit0 quan (comptador = "00)

una mica més

Quan 7segoutputDigit1 (comptador = "01)

una mica més

Quan 7segoutputDigit2 (comptador = "10)

una mica més

Quan 7segoutputDigit3 (comptador = "11);- El multiplexor de sortida és, probablement, també és necessari 'l'exterior' per

- El maquinari se sap 'output' ha d'anar.

- En el cas dels productes que necessitem per al multiplexor

digiton (0) <='1 'quan (comptador = "00")

una mica més

'0 ';

digiton (1) <='1 'quan (comptador = "01")

una mica més

'0 ';

digiton (2) <='1 'quan (comptador = "10")

una mica més

'0 ';

digiton (3) <='1 'quan (comptador = "11")

una mica més

'0 ';
- La "real" de les entrades / sortides

- Sempre una bona idea per treballar "interns" i, a continuació, amb els senyals passen

- A l'entrades / sortides.
Això permet una fàcil conversió quan invertida

- Entrades / sortides s'utilitzen.
Internament llavors sempre treball amb nivell alt ('1 ')

- Activa les senyals ...

DIGIT <= digiton;

7SEG <= sortida;

frequencyin <= FREQIN;
 
Hola Marcel,

Gràcies per la vostra awnser.

Si us plau, comproveu la seva PM

 

Welcome to EDABoard.com

Sponsor

Back
Top