Red de conocimiento informático - Computadora portátil - 00000110 código fuente

00000110 código fuente

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

<); p>Duan Feng;

El estilo arquitectónico de Feng es

Inicio

Proceso (CP, CLR)

Inicio

Si CLR='0 ', entonces

Q lt='0';

ELSIF CP'EVENT AND CP='0'THEN

Q lt='1';

Finalizar IF;

Finalizar proceso;

Duanfeng_arc;

2. Selección de chip El programa fuente VHDL del módulo de generación de señales 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. Programa fuente VHDL de LOCKB.

-lockb.vhd

Biblioteca IEEE

Usa IEEE. STD_LOGIC_1164. Todo;

Entidad bloqueada en

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

CLK, CLR: en STD_LOGIC;

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 lt ;='0';

Q2lt='0';

Q3 lt='0';

Q4 lt='0';

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

evento clk elshif y clk='1' entonces

q 1 lt;= d 1;

Q2lt= D2;

Q3 lt= D3

Q4 lt= D4;

ALM lt='1';

Finalizar IF;

Finalizar proceso;

Finalizar LOCK _ ARC

4. Convertir el programa fuente VHDL del módulo 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)

TMP variable: STD_LOGIC_VECTOR (3 hasta 0

Inicio

TMP: = d 1 amperio); ; D2 amp; D3 ampD4;

La situación de TMP es

Cuando " 0111" = >; "=>; Q lt="0010";

Cuando " 1101"= >; ="0100";

Cuando otros = gtQ lt="1111";

Finalizar caso;

Finalizar proceso;

END ch 41 _ ARC;

5.

- 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" = >; Q lt= D2;

Cuando " 111 "= >Q lt = D3

Cuando otros = gtQ lt="1111";

Finalizar caso;

Finalizar proceso;

FIN 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 realiza la cuenta regresiva del tiempo de respuesta, contando con una voz. El aviso se emitirá después de 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)

Variables 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 SI;

Otros

Sonido lt = '0';

HH: = "1001";

LL: = "1001";

Fin SI;

Fin IF;

H lt= HH

L lt= LL

Finalizar proceso;

Finalizar count_arc;

7. Muestra el programa fuente VHDL del módulo de decodificación 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));

Fin de 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" = >; Q lt="1001111";

Cuando" 0100"= >Q lt="1100110 ";

Cuando" 0101"= >Q lt="1101101";

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

Cuando " 0111" = > = >Q lt="1111111";

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

Cuando otros = gtQ lt="0000000" ;

Finalizar caso;

Finalizar proceso;

Finalizar DISP_ARC;