- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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;Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page