Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    novembre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : novembre 2007
    Messages : 74
    Points : 4
    Points
    4

    Par défaut Deux valeurs génériques pour un type

    Bonjour,
    j'aimerais créer un type qui dépend de deux valeurs génériques. Admettons que mon_entité possède deux génériques, m et n. J'aimerais créer un type de n std_logic_vector(m-1 downto 0). J'ai par exemple créé un package avec un nouveau type mon_type de 16 std_logic_vector(natural range <>), ce qui me permet de rendre un paramètre générique mais je voudrais aussi que le "16" devienne un terme générique.
    Si quelqu'un sait faire...

  2. #2
    Membre régulier
    Inscrit en
    juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 52
    Points : 95
    Points
    95

    Par défaut

    Bonjour,

    La voie
    Code :
    type MonType is array(natural range <>) of std_logic_vector(natural range <>)
    n'est pas possible (limitation VHDL )

    Par contre, il existe une autre solution, un tout petit peu moins simple mais valable :

    Code :
    type SlvMatrix is array(natural range <>,natural range<>) of std_logic;
    Il faut alors savoir que cette matrice "perd" la notion de "tableau de std_logic_vector" et n'est qu'un ensemble à deux dimensions de std_logic . Sachant ce point de détail, vous pouvez très bien coder une fonction qui vous retourne tous les éléments d'une même ligne, ce qui reviendrait à dire votre std_logic_vector

    Cdlt,

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •