Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20638 Discussions

Problema De Compilacion En Quartus 2

Altera_Forum
Honored Contributor II
2,313 Views

Hola!. Por favor ayudenme con este código. A mi parecer está correcto pero me aparecen errores:confused: al compilar en QUARTUS 2. Les agradezco su ayuda anticipademente.:)  

 

 

library ieee; 

use ieee.std_logic_1164.all; 

entity ejemplo_vhdl is 

port(B1,A1,B2,A2,G1n,G2n: in std_logic; 

Y1,Y2: out std_logic_vector(0 to 3)); 

end ejemplo_vhdl; 

 

Architecture sol of ejemplo_vhdl is 

signal Z1,Z2: std_logic_vector(0 to 3); 

begin 

 

With B1&B1 select 

Z1(0)<='1'when "00"; 

Z1(1)<='1'when "01"; 

Z1(2)<='1'when "10"; 

Z1(3)<='1'when "0thers"; 

 

With B2&A2 select 

Z2(0)<='1'when "00"; 

Z2(1)<='1'when "01"; 

Z2(2)<='1'when "10"; 

Z2(3)<='1'when "0thers"; 

 

Y1<=Z1 when G1n='1' else "0000"; 

Y2<=Z2 when G2n='1' else "0000"; 

 

end sol;
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
1,053 Views

Estás haciendo un mal uso de la sentencia "with-select" ésta sólo puede asignar a una única señal. La opción others no va entre comillas. Debes utilizar señales auxiliares para concatenar las dos señales de un bit. Este código, realiza lo mismo que tu estabas esperando. 

 

library ieee; use ieee.std_logic_1164.all; entity ejemplo_vhdl is port(B1,A1,B2,A2,G1n,G2n: in std_logic; Y1,Y2: out std_logic_vector(0 to 3)); end ejemplo_vhdl; Architecture sol of ejemplo_vhdl is signal Z1,Z2: std_logic_vector(0 to 3); signal b1_b1,b2_a2: std_logic_vector(1 downto 0); begin b1_b1<=B1&B1; b2_a2<=B2&A2; With b1_b1 select Z1<= "1000" when "00", "0100" when "01", "0010" when "10", "0001" when others; With b2_a2 select Z2<= "1000" when "00", "0100" when "01", "0010" when "10", "0001" when others; Y1<=Z1 when G1n='1' else "0000"; Y2<=Z2 when G2n='1' else "0000"; end sol;
0 Kudos
Altera_Forum
Honored Contributor II
1,053 Views

Ups!, lo que dice es cierto puse de más las comillas. Lo que si desconocía es que a la sentencia "with-select" se le puede asignar una única señal. Muchísimas gracias!.

0 Kudos
Altera_Forum
Honored Contributor II
1,053 Views

buenos dias 

alguien sabe porque quartus se me demora tanto en compilar un programa? 

tengo varios programas que los junto por medio de un esquematico los cuales son una rom, un banco de registros, una alu, multiplexoras y demas pero lo que no entiendo es porque cada programa individualmente se me demora entre 30 seg y 1:30 en compilar, pero cuando los uno todos en uno solo se me demora media hora  

por favor si alguien sabe como solucionar este problema se lo agradeceria mucho 

gracias
0 Kudos
Reply