Red de conocimiento informático - Conocimiento sistemático - FuenteVHD101

FuenteVHD101

Código fuente VHDL de cada módulo

1, y se apresura a responder al programa fuente VHDL de Feng.

-von.vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164. Todos;

La entidad es

PORT(CP, CLR:IN STD_LOGIC;

q:OUT STD_LOGIC);

Duan Feng ;

El estilo arquitectónico de Feng es

Iniciar

Proceso (CP, CLR)

Iniciar

Si CLR ='0', entonces

Q & lt='0';

ELSIF CP'EVENT AND CP='0'ENTONCES

Q & lt= '1';

Finalizar IF;

Finalizar proceso;

DUANFENG_ARC;

2. Seleccione el programa fuente VHDL del chip. módulo de generación de señal SEL.

- sel.vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164. Todos;

La selección de entidad es

Puerto (CLK: en STD_LOGIC;

Respuesta: fuera del rango de enteros 0 a 7);

Finalizar selección;

Arquitectura de SEL SEL_ARC es el módulo de generación de señal de selección de chip SEL

Inicio

Proceso (CLK)

Variable AA :Rango entero de 0 a 7;

Inicio

Si evento CLK y CLK='1' entonces

AA:= AA+1;

Finalizar IF;

A & lt= AA

Finalizar proceso;

Finalizar SEL_ARC

3. Lock El programa fuente VHDL del módulo de almacenamiento LOCKB.

-lockb.vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164. Todo;

La entidad está bloqueada en

Puerto (D1, D2, D3, D4: en STD_LOGIC;

CLK, CLR: en STD_LOGIC;

CLK, CLR: en STD_LOGIC;

p>

p>

Q1, Q2, Q3, Q4, ALM:OUT STD _ LOGIC);

Bloqueo final b;

La arquitectura de LOCKB LOCK_ARC es

Iniciar

Proceso (CLK)

Iniciar

Si CLR='0 ', entonces

q 1<=' 0';

Q2<='0';

Q3 & lt='0';

Q4 & lt='0';

ALM<='0';módulo bloqueado b

evento clk elshif y clk='1' entonces

q 1 <= d 1 ;

T2<= D2;

T3 & lt= D3

T4 & lt= D4;

ALM & lt='1';

Finalizar IF;

Finalizar proceso;

Finalizar LOCK _ ARC

4. Programa fuente VHDL del módulo de conversión CH41A

- ch41a..vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164.

Todo;

La entidad CH41A es

Puerto (D1, D2, D3, D4: en STD_LOGIC;

q: OUT STD_LOGIC_VECTOR (3 abajo). a 0));

END ch 41A;

Arquitectura ch41 _ arco del módulo de conversión CH41Ais ch41a

Inicio

Proceso (D1 , D2, D3, D4)

Variable TMP:STD_LOGIC_VECTOR (3 hasta 0);

Inicio

TMP:= d 1 & amp D2 & amp D3 & amp D4;

La situación de TMP es

Cuando "0111" = >; p>Cuando " 1011" = >; Q & lt="0010";

Cuando " 1101" = >; Q & lt="0011";

Cuando " 1110" = >Q & lt="0100";

Cuando otros= & gtQ & lt="1111";

Finalizar caso;

Finalizar proceso ;

END cap 41_ARC;

5.3 Seleccionar el programa fuente VHDL del módulo 1 CH31A.

- ch31a.vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164. Todos;

La entidad CH31A es

PORT(SEL:IN STD _ LOGIC _ VECTOR(2 hasta 0);

D1, D2, D3:IN STD _ LOGIC _ VECTOR(3 hasta 0);

q:OUT STD _ LOGIC _ VECTOR(3 hasta 0));

END cap 31A;

Arquitectura de CH31A CH31_ARC para

Inicio

Proceso (SEL, D1, D2, D3)

Inicio

Selección de caso Sí

Cuando "000" = >Q & lt= d 1;

Cuando "001" = >; 111"= >Q & lt= D3

Cuando otros= & gtQ & lt="1111";

Finalizar el caso;

Finalizar el proceso;

END cap 31 _ ARC;

6. Programa fuente VHDL para el conteo del módulo de cuenta regresiva

El conteo del módulo de cuenta regresiva se muestra en la Figura 16-7, que se realiza. la cuenta regresiva del tiempo de respuesta y se emitirá un mensaje de voz después de contar hasta 100 segundos.

- count.vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164. Todos;

Utiliza IEEE.

STD_LOGIC_UNSIGNED ALL;

ENTIDAD CUENTA COMO

PUERTO(CLK, EN: IN STD_LOGIC; CUENTA REGRESIVA DEL MÓDULO

h, L: OUT STD_LOGIC_VECTOR (3 hasta 0 );

Sonido: OUT STD _ LOGIC);

Fin del conteo;

El conteo del arco de conteo de edificios es

Inicio

Proceso (CLK, Reino Unido)

Variable HH, LL: STD_LOGIC_VECTOR (3 hasta 0).

Inicio

p; >

Si evento CLK y CLK='1' entonces

Si EN='1 ', entonces

Si LL=0 y HH=0, entonces

Sonido& lt='1';

Entonces ELSIF LL=0

LL:= " 1001 ";

HH:= HH- 1;

Otros

LL:= LL-1;

Fin IF;

Otros

Sonido & lt ='0';

HH:= " 1001 ";

LL:= " 1001 ";

Fin

Fin IF;

H & lt= HH

L & lt= LL

Fin proceso;

Fin count_arc ;

7. Muestra el programa fuente VHDL del módulo decodificador DISP.

-show vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164. Todo;

La entidad DISP es el módulo de decodificación de pantalla disp

Puerto (D: in STD_LOGIC_VECTOR (3 DOWNTO 0)

q: OUT STD _ LOGIC _ VECTOR(6 hasta 0));

Finalizar DISP;

El edificio DISP de DISP está

Iniciar

Proceso (D )

Inicio

Caso D es

Cuando " 0000" = >; Q & lt="0111111";

Cuando " 0001" = >; Q & lt="0000110";

Cuando " 0010" = > >Cuando; 1101101";

Cuando " 0110" = >Q & lt=" 1111101";

Cuando " 0111" = >; Q & lt="0100111";

Cuando" 1000"= >Q & lt="1111111";

Cuando " 1001"= >Q & lt="1101111";

Cuando otros= & gtQ & lt="0000000";

Fin de caso;

Finalizar proceso;

Finalizar DISP_ARC;