Red de conocimiento informático - Aprendizaje de programación - Configuración de programación Eda

Configuración de programación Eda

1 programa VHDL. Minutos Segundos Recuento de módulos de circuito sexagesimal 60

Biblioteca ieee

Usa IEEE.STD_Logic_1164.all;

Usa IEEE.STD_Logic_ unsigned all;

La entidad wj7157_count60 es

port(clk:in STD_logic;

bcd10, BCD 1:buffer STD_logic_vector(3 hasta 0);

presente: en std_logic;

co:out STD _ logic);

end wj 7157 _ count 60

El rtl de construcción de wj7157_count60 es

Señal co_1:STD_logic;

Inicio

Proceso(reloj, actual)

Inicio

Si existe='0', entonces BCD 1<="0000";

De lo contrario, si clk='1' y clk' evento, entonces

Si bcd1="1001", entonces BCD 1<=" 0000";

else BCD 1<= BCD 1+' 1';

Finalizar si; finalizar si; finalizar si; finalizar proceso;

Proceso( reloj, actual, bcd1)

Inicio

Si existe='0 ', entonces BCD 10<="0000";co _ 1<='0';

De lo contrario, si clk='1' y clk' evento, entonces

Si bcd1="1000" y bcd10="0101" entonces co_1<='1';

elsif BCD 1="1001" y bcd10="0101" luego BCD 10& lt;="0000";co_1<='0';

elsif BCD 1 = "1001" luego BCD 10<= BCD 1' 1';co_1& lt;='0';

Finalizar si; finalizar si;

co & lt= no co _ 1; finalizar RTL;

3. Programa VHDL de recuento del módulo de circuito decimal de tiempo12.

Biblioteca ieee

Usa IEEE.STD_logic_1164.all;

Usa IEEE.STD_logic_unsigned.all;

La entidad wj7157_count12 es

puerto(clk:in STD_logic;

bcd10, BCD 1:buffer STD_logic_vector(3 hasta 0));

p>

end wj 7157_count 12;

El rtl de construcción de wj7157_count12 es

Iniciar

Proceso (reloj)

Iniciar

Si clk='1 evento 'y clk', entonces

Si bcd10="0001" entonces si bcd1="0001" entonces BCD 1<="0000" ;

si no BCD 1 <= BCD 1+' 1 ';

Fin si;

De lo contrario, si bcd1="1001 ", entonces BCD 1 <="0000";

else BCD 1 <= BCD 1+' 1 ';

finalizar si; finalizar si; finalizar si;

Finalizar proceso;

Proceso(reloj, bcd1) )

Inicio

Si clk='1' y clk' evento, entonces

Si bcd1="0001" y bcd10="0001", entonces BCD 10 <="0000";

elsif BCD 1 = "1001" luego BCD 10<= BCD 10 +' 1 ';

Finalizar si; finalizar si; end RTL;

Módulo de circuito decimal de tiempo cuenta12 forma de onda de simulación de sincronización

4. Decodificación dinámica y un programa VHDL que muestra la pantalla del módulo de escaneo.

Biblioteca ieee

Usa IEEE.STD_logic_1164.all;

Usa IEEE.STD_logic_unsigned.all;

La entidad wj 7157 _display es

puerto(din0, din1, din2, din3, din4, din 5: en STD _ logic _ vector (3 hasta 0);

clk: en std_logic;

led_sa, led_sb, led_sc, led_a, led_b, led_c, led_d, led_e, led_f, led_g, led_DP:out STD_logic);

end wj 7157 _ display;

El la arquitectura de wj7157_display se muestra como

Selección de señal:STD _ logic _ vector(6 hasta 0);

Selección de señal:STD _ logic _ vector(2 hasta 0);

Número de señal: std_logic_vector(3 hasta 0);

Señal s: STD_logic_vector(2 hasta 0);

Inicio

led_sa<=sel(0);led_sb<=sel(1);led_sc<=sel(2); _ b & lt= seg(1);

led _ c & lt= seg(2); led _ d & lt= seg( 3);

led _ f & lt= seg(5); led _ g & lt= seg(6);

Proceso (reloj)

Inicio

Si clk evento y clk='1' entonces

Si s="101 "entonces s & lt="000" ;

si no s & lt= s+ ' 1 ';

Finalizar si; finalizar si; finalizar proceso;

Proceso (s, din0, din1, din2, din3, din4, din5)

Inicio

Si s="000 "entonces sel & lt="000";num & lt= din4led _ dp & lt='0' ;Elcipher

s="001 " Luego seleccione& lt="001";num & lt= din5led _ dp & lt='0';Elcipher

s="010 "Luego seleccione& lt="010";num & lt= din2led _ dp & lt='0';Elsifer

s="011 "Luego seleccione& lt= "011";num & lt= din3led _ dp & lt='0';Elsifer

s="100 "Luego seleccione& lt="100";num & lt= din0led _ dp & lt='0';Elsifer

s="101 "Luego seleccione& lt="101";num & lt= din 1; led _ dp & lt='0';else sel & lt="XXX"; num & lt="XXXX"; if; finalizar proceso;

seg & ltcuando Cuando num = 0 = " 011111 "

Cuando num = 1, es "000

0110"

Cuando num = 2, es "1011011"

Cuando num = 3, es "100111"

Cuando num = 4, es "1100110"

Cuando num = 5, es "11011"

Cuando num = 6, es "11111"

Cuando num = 7, es es "0000111"

Cuando num = 8, es "111111"

Cuando num = 9, es "110111"

Cuando num = 10, es "110111"

"11111100 "Cuando num = 11 en otro caso

"0111001" cuando num = 12 en otro caso

"10111110" cuando num = 13 en otro caso

"1111001" cuando num = 14 en caso contrario

"1110001" cuando num = 15 en caso contrario

"0000000";

El módulo de escaneo de visualización y decodificación dinámica muestra formas de onda de simulación de temporización

5.

Biblioteca ieee

Usa IEEE.STD_logic_1164.all;

Usa IEEE.STD_logic_unsigned.all;

La entidad wj 7157 _ring es

puerto(clk1, clk 2:en STD_logic;

m1,m10,s1,s 10:en STD_logic_vector (3 hasta 0);

q: out STD _ logic);

end wj 7157 _ ring

El comportamiento estructural de wj 7157 _ ring es

Inicio

Proceso (m1, m10, s1, s10)

Inicio

Si m10="0101 " y m1=" 1001 ", entonces

Si s10=" 0101 ", entonces

Si s1="0101 " o s1="011 " o s1="1001 "

entonces q<= clk 1;

fin if;end if;

elsif m10="0000" y m1="0000" y s10="0000" y s1=" 0000 "Entonces q & lt= clk2

elseq & lt='0';

Finalizar si; finalizar el proceso; finalizar el comportamiento;

Módulo de diseño de circuito de cronometraje Forma de onda de simulación de temporización de timbre

6. módulo de circuito divisor de frecuencia div (5 MHz dividido en 1 kHz, 2 kHz, 5 Hz)

Biblioteca ieee

Utilice IEEE.STD_logic_1164.all;

Utilice IEEE.STD_logic_unsigned. all;

La entidad wj_div es

puerto ( clk_50MHz: in std_logic;

clk_2kHz, clk_1kHz, clk_5Hz:out STD_logic);

end wj_div

El rtl de construcción de wj_div es

Señales q1, q2, q3: rango de enteros 0 a 10000100

Inicio

Proceso (clk_50MHz)

Inicio

Si eventos clk_50MHz='1' y clk_50MHz', entonces

Si q1=24999, entonces

q 1<=0;clk_2kHz<= '1';

else q 1 & lt;= q 1+1; clk _ 2kHz & lt='0';

Finalizar si; finalizar si;

Finalizar proceso;

Proceso (clk_50MHz)

Iniciar

Si clk_50MHz='1 ' y clk_50MHz ' evento, entonces

Si q2=49999, entonces q2<=0;clk_1 khz<='1';

si no q2<= Q2+1;clk_1 khz<=' 0' ;

Finalizar si; finalizar si;

Finalizar proceso;

Proceso (clk_50MHz)

Iniciar

Si los eventos clk_50MHz='1' y clk_50MHz', entonces

Si q3=9999999, entonces q3 & lt=0;clk _ 5Hz & lt='1';

si no, q3 & lt= Q3+1; pulsar _ 5Hz & lt='

0';

Finalizar si; finalizar si;

Finalizar proceso;

Finalizar RTL;

Debido a demasiadas simulaciones, el software Las condiciones de simulación son insuficientes y no se puede obtener la forma de onda de simulación de temporización div del módulo de circuito divisor de frecuencia.

7. Programa VHDL del módulo de circuito de cinco bandas div5.

Biblioteca ieee

Usa IEEE.STD_logic_1164.all;

Usa IEEE.STD_logic_unsigned.all;

La entidad wj7157_div5 es

port(clk:in STD_logic;

q:out STD_logic);

end wj 7157_div 5 ;

El rtl de construcción de wj7157_div5 es

Señal q 1: STD_logic_vector (2 hasta 0

Inicio

Proceso (reloj)

Inicio);

Si clk='1' y clk' evento, entonces

Si q1="100", entonces q 1 & lt;="000";q & lt='1 ';

else q 1 & lt;= q 1+' 1 ';q & lt='0';

Fin si; Fin si;

Finalizar proceso; finalizar RTL;

Forma de onda de simulación de sincronización

8. Programa VHDL del módulo de circuito antirrebote qudou.

Biblioteca ieee

Usa IEEE.STD_logic_1164.all;

Usa IEEE.STD_logic_unsigned.all;

La entidad wj7157_qudou es

puerto(clk:en STD_logic;

din:en std_logic;

dout:out STD_logic

Fin;

);

Arquitectura RTL wj 7157 _qudou es

Señal CNT:STD _ lógica _ vector(6 hasta 0);

Inicio

Proceso (reloj)

Inicio

Si clk event y clk='1' entonces

Si din = 0, entonces

Si CNT = " 1100011 ", luego dout & lt= '0';cnt & lt="0000000";

si no cnt & lt= CNT+1; dout & lt='1';

Finalizar si;

else dout & lt='1';

Finalizar si; finalizar si;

Finalizar proceso;

Debido a demasiadas simulaciones y condiciones de simulación de software insuficientes, no se puede obtener la forma de onda de simulación de temporización de curvatura del circuito antirrebote.

9. Programa VHDL para reemplazar el módulo de circuito mux2

Biblioteca ieee

Usando IEEE.STD_logic_1164.all;

La entidad wj7157_mux2 es

puerto (a, b: en bits;

sel: en bits;

q: bit de salida

Entidad final); wj 7157 _ mu x2;

La arquitectura de wj7157_mux2 es

Inicio

q & lt=a cuando sel=' 0 'De lo contrario b;

Fin de la arquitectura uno;

Módulo de circuito dos en uno mux2 forma de onda de simulación de temporización

Programa VHDL del diseño del módulo de circuito dos en uno mux4

Biblioteca ieee

Usando IEEE.STD_logic_1164.all;

Usando IEEE.STD_logic_unsigned.all;

La entidad wj7157_mux42 es

port(a, b, c, d: en STD _ logic _ vector (3 hasta 0);

sel: en bits;

q1, Q2:out STD_logic_vector (3 hasta 0));

Entidad final wj 7157_mux 42;

wj7157_mux42 Una de las estructuras es

Inicio

Proceso (selección)

Inicio

Si sel='0 ', entonces q 1 & lt ;= c; & lt;= a; q2 & lt= b;

Finalizar si;

Finalizar proceso;

Finalizar uno;