IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VHDL Discussion :

[débutant] Bascule D rebouclé


Sujet :

VHDL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [débutant] Bascule D rebouclé
    Bonjour à tous,

    Je débute en VHDL. Je souhaite réaliser une bascule D qui possède 3 entrées (clock, reset, D) et 2 sorties (Q et not(Q)).
    La sortie not(Q) sera rebouclé sur l'entrée D.

    J'ai beaucoup de mal à comprendre comment effectuer un rebouclage sur l'entrée.
    On me parle souvent de port de type "inout" dans les forums, cependant je pense aussi que cette pratique n'est pas très recommandée en VHDL et qu'il vaut mieux passer par l'utilisation de signaux.

    Vous trouverez ci-dessous une première ébauche de code :

    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
    18
    19
    20
    21
    22
    23
    library IEEE;
    use IEEE.std_logic_1164.all;
     
    entity bascule_D is
    	port ( rst, clk, D : in std_logic;
    			q, qb : out std_logic );
    end entity bascule_D;
     
    architecture bhv of bascule_D is
    signal s_d : std_logic := '0';
    begin
    	p1 : process(rst,clk)
    	begin
    		if (rst = '1') then
    			q <= '0';
    			qb <= '0';
    		elsif (clk'event and clk = '1') then
    			q <= s_d;
    			qb <= not(s_d);
    			s_d <= qb;
    		end if;
    	end process;
    end architecture bhv;
    Merci de bien vouloir m'aider.


    Michael

  2. #2
    Membre expérimenté

    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2010
    Messages : 545
    Points : 1 429
    Points
    1 429
    Par défaut
    Bonjour,

    En VHDL il est impossible de lire un signal ou une variable déclaré out.
    Voila comment je ferais:
    Le re-bouclage de l'entrée sur la sortie est intégré dans l'entité. Donc le nom de bascule_D n'est plus approprié.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    library IEEE;
    use IEEE.std_logic_1164.all;
     
    entity bascule_D is
        port ( 
            rst : in std_logic;
            clk : in std_logic;
            Q   : out  std_logic;
            Qb  : out  std_logic
        );
    end entity bascule_D;
     
    architecture bhv of bascule_D is
        signal q_i  :   std_logic;
    begin
        p1 : process(rst,clk)
        begin
            if (rst = '1') then
                q_i <= '0';
            elsif (clk'event and clk = '1') then
                q_i <= qb_i;
            end if;
        end process;
        Q       <= q_i;
        qb_i    <= not q_i;
        Qb      <= qb_i;
    end architecture bhv;

Discussions similaires

  1. Réponses: 15
    Dernier message: 11/08/2006, 11h20
  2. Réponses: 4
    Dernier message: 31/07/2006, 16h18
  3. [débutante][API] basculer vers une autre appli en VB6
    Par zazaraignée dans le forum Windows
    Réponses: 7
    Dernier message: 04/06/2004, 15h15
  4. Réponses: 3
    Dernier message: 07/05/2002, 16h06
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo