Hola buena tarde a todos, vengo ahora aquí de chillón porque siento que necesito ayuda para mis proyectos de electronica digital de la escuela. y tengo muchas dudas pues no nos dieron más que una pequeña intruducción al lenguaje VHDL.
La idea aquí es que necesito hacer un multiplicador de dos numeros, cada uno de 4 bit. y no conozco el lenguaje, vamos el ejemplo así: 2x3=6 .. (0010)*(0011)=0110 .. pero vaya, sería muy largo hacerlo por medio de tablas de verdad, osea por comportamiento.
entonces:
1) alguien tiene idea de como podría lograrlo ?
2) por otra parte e intantado simular con proteus mi GAL, usando el archivo *.jed que produce el galaxy, inserto la que segùn yo es mi GAL22v10 ..., luego le adjunto el arhivo *.jed , pero al simular me sale en el log muchisimos errores. aquí es mi mayor interés ( por eso el título )
adjunto unas imágenes y el codigo que uso para probar. que tal que estoy en un error.. :/.


Y el codigo:
El galaxy no marca un solo error, ni warning.
,.. ahí mismo vienen algunas partes comentadas. eso es porque e estado haciendo pruebas, y bueno ese lo tengo como una suma de vectores. pero es solo para probar el PROTEUS 8.
Agradecería si alguien pudiera ayudarme.
La idea aquí es que necesito hacer un multiplicador de dos numeros, cada uno de 4 bit. y no conozco el lenguaje, vamos el ejemplo así: 2x3=6 .. (0010)*(0011)=0110 .. pero vaya, sería muy largo hacerlo por medio de tablas de verdad, osea por comportamiento.
entonces:
1) alguien tiene idea de como podría lograrlo ?
2) por otra parte e intantado simular con proteus mi GAL, usando el archivo *.jed que produce el galaxy, inserto la que segùn yo es mi GAL22v10 ..., luego le adjunto el arhivo *.jed , pero al simular me sale en el log muchisimos errores. aquí es mi mayor interés ( por eso el título )
adjunto unas imágenes y el codigo que uso para probar. que tal que estoy en un error.. :/.


Y el codigo:
Código:
library ieee; -- Declaracion del contenedor
USE ieee.std_logic_1164.all; -- Declaracion de la libreria.
--USE work.std_arith.all;
use ieee.numeric_std.all;
Entity Multiplicador is -- Declaracion de la entidad o caja negra.
port (a,b: in std_logic_vector(3 downto 0);
--b: in std_logic_vector(3 downto 0);
x: out std_logic_vector(3 downto 0));
end Multiplicador; -- fin de la entidad
Architecture Multiplicacion of Multiplicador is -- iniciar la arquitectura de la entidad
begin -- inicia la arquitectura
process (a,b,x)
begin
x <= std_logic_vector(UNSIGNED(a) + UNSIGNED(b));
end process;
-- x <= a or b;
end Multiplicacion;
El galaxy no marca un solo error, ni warning.
Agradecería si alguien pudiera ayudarme.