P. 1
cours_vhdl(trés important)

cours_vhdl(trés important)

|Views: 698|Likes:
Published by Ikram Ikram

More info:

Categories:Types, School Work
Published by: Ikram Ikram on Nov 04, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/08/2013

pdf

text

original

Un décodeur permet de décoder un mot codé sur n bits pour obtenir sa valeur sur 2n

bits au maximum.

A titre d’exemple, considérons le modèle d’un décodeur d’adresses 4 bits. On suppose que la mémoire consi-
dérée est décomposée en quatre pages, la deuxième page étant elle-même décomposée en quatres segments
(Figure 43).

Figure 43. Table des adresses de la mémoire.

Le Code 36 donne le modèle VHDL du décodeur d’adresses. Le circuit possède sept signaux de sortie pour
activer le segment mémoire concerné. La Figure 44 donne le circuit inféré en synthèse.

Figure 44. Circuit inféré par le modèle du Code 36.

Page 1

0-3

Page 2

Page 3

Page 4

4

5

6

7

8-11

12-15

3.Modélisation de circuits numériques

91

© A.Vachoux, 1999

Modélisation de systèmes numériques intégrés

library IEEE;
use IEEE.std_logic_1164.all;

entity addr4b_decoder is
port (ADDR: in natural range 0 to 15;
MEM_0to3, MEM_8to11, MEM_12to15: out std_logic;
MEM_4to7: out std_logic_vector(3 downto 0));

end addr4b_decoder;

architecture bhv of addr4b_decoder is
begin

process (ADDR)
begin

-- initialisations
MEM_0to3 <= ’0’;
MEM_4to7 <= (others => ’0’);
MEM_8to11 <= ’0’;
MEM_12to15 <= ’0’;
-- décodage
case ADDR is
when 0 to 3 => MEM_0to3 <= ’1’;
when 4

=> MEM_4to7(0) <= ’1’;

when 5

=> MEM_4to7(1) <= ’1’;

when 6

=> MEM_4to7(2) <= ’1’;

when 7

=> MEM_4to7(3) <= ’1’;
when 8 to 11 => MEM_8to11 <= ’1’;
when 12 to 15 => MEM_12to15 <= ’1’;

end case;
end process;
end bhv;

Code 36. Modèle du décodeur d’adresses 4 bits.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->