en este programa podemos notar el contador de 0 a 999 podemos ver como va incrementando los pulsos, se uso la función de rising_edge en la señal de reloj, como podemos ver al final del desbordamiento de datos se reinicia el contador.
viernes, 13 de noviembre de 2020
apuntes de clase
Durante la sesión en línea realizamos un ejercicio del material compartido por el profesor en el software de Project Navigator de Xilinx. Dicho ejercicio es el siguiente:
En este se realizara el encendió y apagado de un led utilizando un cierto tiempo para que pase de apagado a encendido en la siguiente parte se da a conocer el código
library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity PWM_C is -- Declaración De Entra/Salida Port ( CLK : in STD_LOGIC; Led : out STD_LOGIC); end PWM_C; architecture Behavioral of PWM_C is -- Declaraciones constant t_span : integer := 4_999; signal counter : integer range 0 to t_span:=0; begin -- Update The Register Output On The Clock's Rising Edge process (clk) begin if (rising_edge(clk)) then counter <= counter +1; if counter = t_span then counter <=0; end if; end if; if counter <= 1_250 then Led <='1'; else Led <='0'; end if; end process; end Behavioral;
ESQUEMA RTL
PARTE INTERNA DE RTL
ESQUEMA DE TECNOLOGIA
SIMULACION
jueves, 12 de noviembre de 2020
viernes, 6 de noviembre de 2020
jueves, 5 de noviembre de 2020
Como configurar la Basys 3:
Para comenzar a utilizar la placa de desarrollo FPGA Basys 3 se requiere instalar Vivado, para ello se disponen de diversas versiones en la pagina de Xilinx sin embargo, para windows 10 es recomendable utilizar la versión Vivado 2019.2 se puede obtener gratis en el siguiente enlace:
Una vez instalado vivado podemos comenzar a crear proyectos para nuestra FPGA que es una Artix 7 sin embargo, si queremos hacer este proceso aun mas sencillo podemos añadir nuestra placa a la lista de placas que incluye el software de la siguiente manera:
Esto nos ahorra los pasos de estar seleccionando el FPGA y sus características al crear un nuevo proyecto.
1.- Creamos un nuevo proyecto:
6.- Configuramos el FPGA ya sea con el método clásico o buscando nuestra placa rápidamente en la pestaña Boards:
7.- Nos muestra el resumen del proyecto:
8.- Trabajar con vivado es similar a Ise Project Navigator, sin embargo el programa suele requerir un poco mas de cuidado al declarar o programar el comportamiento de nuestros códigos.
miércoles, 4 de noviembre de 2020
en la actividad de hoy se realiza una maquina de estado donde de utilizara el counter para llegar hasta un cierto numero se realiza lo que es el código donde:
----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 18:24:47 11/04/2020
-- Design Name:
-- Module Name: maquinadeestado - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity maquinadeestado is
Port ( clk : in STD_LOGIC;
led : out STD_LOGIC);
end maquinadeestado;
architecture Behavioral of maquinadeestado is
--50,000,000 para un pulso de 1s
--1,000,00
constant lim_cont: integer := 999_999; -- aca se declara hasta que numero llegaremos o el limite que tendremos
signal counter : integer range 0 to lim_cont:=0;
signal en: std_logic :='0';
signal led_int: std_logic:='0';
begin
process (clk)
begin
if rising_edge (clk) then
counter<=counter+1; -- sera lasuma del counter nos sumara mas 1 en cada proceso que lleve
if counter = lim_cont then
counter<=0;
en<='1'; --en caso que el valor sea 1
else
en<='0'; -- en caso que el valor nos de 0
end if;
end if;
end process;
process (clk)
begin
if rising_edge (clk) then
if en = '1' then
led_int<=not(led_int);
end if;
end if;
end process;
led<=led_int;
end Behavioral;
ACTIVIDAD DE CLASES
REALIZACIÓN DE FLIP FLOP TIPO D CON RELOJ IDENTIFICANDO EL FUNCIONAMIENTO DEL PROGRAMA DE ESTO SE PUEDE VER CON LA SIMULACIÓN DE COMO FUNCIONA EN LA SIMULACIÓN
DIOSEÑO DE CODIGO
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity acc2 is
Port ( D : in STD_LOGIC;
clk : in STD_LOGIC;
q : out STD_LOGIC;
qn : out STD_LOGIC);
end acc2;
architecture Behavioral of acc2 is
begin
process(clk)
begin
if rising_edge (clk) then
q <= d;
qn <= not D;
end if;
end process;
end Behavioral;
Segundo paso se demuestra en la simulación se debe aclarar que en el reloj se debe establecer un tiempo para las pulsaciones en caso de que no se pone nos produce que no tengamos ninguna salida en qn
Contador de décadas:
Se comenzó este diseño mediante instanciacion de componentes para ello se crearon diversos elementos individuales los cuales fueron integrad...
-
Para comenzar a utilizar la placa de desarrollo FPGA Basys 3 se requiere instalar Vivado, para ello se disponen de diversas versiones en la ...
-
Flip-Flop tipo J-K Sequential circuits Flip flop tipo Jk (jump keep) Este FF es uno de los más usados en los circuitos digitales, y de hech...
-
Se describe el comportamiento del Latch D de acuerdo a la tabla de verdad: Latch D: siguiendo la siguiente tabla de verdad: y se programa ...










