FuenteVHD101
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; p >
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 ; p>
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;