Mostrando entradas con la etiqueta digital. Mostrar todas las entradas
Mostrando entradas con la etiqueta digital. Mostrar todas las entradas

martes, 23 de agosto de 2016

Definiendo pines para GAL16V22 de Lattice

Esta prueba la hice desde una box Fedora, instalando el software de Lattice para programar sus dispositivos Lógicos.

En ABEL, la definición de los pines a utilizar cuando se programa una GAL, se hace desde el inicio, sin embargo, en VHDL la cosa no está tan simple, leyendo varios foros, encontre que habria que usar unas sentencias pero no se indica de forma muy genérica.

El código que se presenta a continuación, es un divisor de frecuencias, que tiene dos entradas y una salida, nótese que en este caso, se asigna al pin 6 la entrada de reset para el reloj, y que la declaración de los atributos LOC se hace en el ámbito del instanciamiento de la Entidad que se crea.

Esto solo lo he probado con Lattice y una GAL22V10 simulada en Proteus.

-------------------------------------------------------------------------------
--
-- Company :
-- Engineer: miguel
--
-- Create Date:    04/11/2015 04:50:28
-- Project Name:   clk381Hz
-- Module Name:    clk381Hz.vhd
-- Description:
--
-- Additional Comments:
--
-------------------------------------------------------------------------------

library IEEE;
use IEEE.std_logic_1164.all;  -- Para std_logic
use IEEE.numeric_std.all;     -- Para unsigned

entity clk381Hz is
    Port (
        entrada: in  STD_LOGIC;
        reset  : in  STD_LOGIC;
        salida : out STD_LOGIC
    );

attribute LOC: string;
attribute LOC of reset : signal is "6";


end clk381Hz;



architecture arq1 of clk381Hz is
    signal temporal: STD_LOGIC;
    signal contador: integer range 0 to 250 := 0;
begin
    divisor_frecuencia: process (reset, entrada) begin
        if (reset = '0') then
            temporal <= '0';
            contador <= 0;
        elsif (entrada 'event and entrada = '1') then
            if (contador = 250) then
                temporal <= NOT(temporal);
                contador <= 0;
            else
                contador <= contador+1;
            end if;
        end if;
    end process;
    
    salida <= temporal;
end arq1;

jueves, 7 de noviembre de 2013

Qucs 0.01.17 en Manjaro

Bien pues sigo probando el uso de Manjaro y pues de momento va muy bien, el desktop es ligero en la PC que tengo, ya es un poco viejita (Gateway con procesador Core 2 con 2GB de RAM y disco de 500GB ) Pues como les comento, estoy probando Qucs y de momento va muy bien y lo mejor es que a diferencia de Fedora 19, esta distro si me está generando el VHDL a partir del diagrama lógico sin problemas, de igual forma Scilab despueś del detalle de ayer, he instalado los atoms de Fuzzy Logic, el complemento Coselica y SIMM para simulación física, y pues las simulaciones han corrido, el problema que tengo es con el IDE de Pinguino X.4 que no me abre, pero ya veré como funciona, aun no he probado la grabación de archivos .hex con AVR y PIC, pero ya está en la pc SDCC y AVR-GCC con el codeblocks.