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 :
Merci de bien vouloir m'aider.
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;
Michael
Partager