Bonjour,
Je suis en train d'écrire un programme de codage/decodage de type M-of-N. Mon problème est pour le décodage: en entrée(i) un vecteur de 5 bits, et en sortie un vecteur de 3 bits. Ici c'est un codage de 2-of-5, c'est à dire qu'on à tout le temps 2 bits à un dans le vector de 5 bits.
Je voudrais savoir si il est possible d'écrire une condition "when others" avec une structure de type "WITH ..SELECT..."? J'aimerais que pour les autres cas de l'entrée (5 bits), la sortie soit indéterminé. Remarque: je travaille en asynchrone.
Merci
-- VHDL decoder description
ENTITY decode_2_5 IS
PORT( i : IN BIT_VECTOR(4 DOWNTO 0);
o : OUT BIT_VECTOR(2 DOWNTO 0);
vdd : IN BIT;
vss : IN BIT );
END decode_2_5;
ARCHITECTURE VBE OF decode_2_5 IS
BEGIN
WITH i(4 DOWNTO 0) SELECT
o(2 DOWNTO 0) <= B"000" WHEN B"00011",
B"001" WHEN B"00101",
B"010" WHEN B"01001",
B"011" WHEN B"10001",
B"100" WHEN B"00110",
B"101" WHEN B"01010",
B"110" WHEN B"10010",
B"111" WHEN B"01100",
NULL WHEN OTHERS ;
ASSERT (vss = '0')
REPORT "Power supply is missing on vss"
SEVERITY ERROR;
ASSERT (vdd = '1')
REPORT "Power supply is missing on vdd"
SEVERITY ERROR;
END VBE;
-----