Bonjour,
ma question est peut-être toute bête mais je ne trouve pas de solution simple : j'ai un signal qui est un std_logic_vector et je voudrais faire le OU logique de tous les std_logic qui le composent. Comment je dois m'y prendre ?
Merci.
Bonjour,
ma question est peut-être toute bête mais je ne trouve pas de solution simple : j'ai un signal qui est un std_logic_vector et je voudrais faire le OU logique de tous les std_logic qui le composent. Comment je dois m'y prendre ?
Merci.
1ère solution (compatible toutes versions de VHDL)
2ème solution - VHDL 2008 only :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function or1(r : std_logic_vector) return std_logic is variable result : std_logic := '0'; begin for i in r'range loop result := result or r(i); end loop; return result; end function or1;
Attention, bien que le VHDL2008 date de près de 5 ans, tous les outils ne supportent pas encore pleinement cette révision de la norme...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MonStdLogic <= or(MonStdLogicVector);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager