Bonjour,
j'aimerais simplement donner la valeur d'une sortie en fonction de la parité de l'indice d'une boucle. Un exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
library ieee;
use     ieee.std_logic_1164.all;
use 	ieee.std_logic_arith.all;
use     ieee.std_logic_signed.all;
 
entity pair is
	port(
		x :		out std_logic_vector(7 downto 0));
end pair;
 
architecture rtl of pair is
begin
	parité : for k in 0 to 7 loop
		x(k) <= '0' when (k mod 2=0) else
		x(k) <= '1';
	end loop;
end rtl;
Mais Modelsim ne compile pas ce code :
** Error: D:/work/FFT/cellule/src/pair.vhd(13): Illegal concurrent statement.
** Error: D:/work/FFT/cellule/src/pair.vhd(15): Type error resolving infix expression "<=" as type ieee.std_logic_1164.STD_LOGIC.
** Error: D:/work/FFT/cellule/src/pair.vhd(15): Cannot read output "x".
J'ai bien peur de mélanger instructions concurrentes et séquentielles.
Quelqu'un peut m'aider ?
Merci.