Ingeniería de Telecomunicación VHDL Estructural Electrónica Digital II Ingeniería de Telecomunicación Susana Borromeo López 1 VHDL estructural VHDL. Descripción estructural E0 A 0 B E1 1 Z Describe Describe la la entidad entidad como como un un conjunto conjunto de de componentes componentes conectados conectados entre entre sí sí por por señales señales entity entityMUX MUXisis port( port(A,B A,B: :inin bit; bit; SEL SEL: :inin bit; bit; ZZ : :out outbit); bit); end endMUX; MUX; architecture estructural of MUX2 is -- declaración de componentes component AND2 port (I0,I1:in std_logic; o:out std_logic); SEL end component; A component OR2 S2 port (I0,I1:in std_logic; o:out std_logic); SEL S1 Z end component; component INVERSOR port (I:in std_logic; o:out std_logic); S3 B end component; -- declaración de señales signal S1,S2,S3: std_logic; configuration MUX_conf of MUX is begin for estructural --Instanciación de componentes for U1: INV use work.entity INV ( comportamental); end for; U1: INVERSOR port map (SEL,S1); for U2,U3: AND2 use work.entity AND2 ( comportamental); end for; U2: AND2 port map (A,S1,S2); for U4: OR2 use work.entity OR2 ( comportamental); end for; U3: AND2 port map (SEL,B,S3); end for; U4: OR2 port map (S2,S3,Z); end MUX_conf ; end estructural; 2005-2006 VHDL estructural 2 1 VHDL. Descripción estructural configuration identificador of identificador_entidad is for identificador arquitectura for ref_componente: identificador_componente use librería.identificador_entidad(identificador_arquitectura) end for; ….. end for; end identificadir_configuracion ; 2005-2006 3 VHDL estructural VHDL. Descripción estructural Modelar un divisor de 10 y basándose en ese módulo realizar un divisor por 1000 CE CE Clk100_enable DIV10 CE Clk10_enable DIV10 CE DIV10 myClk1 Clk1000 reset reset reset reset 2005-2006 VHDL estructural 4 2 architecture Behavioral of divisor1000 is -- Declaración componente COMPONENT divisor10 PORT( reset : IN std_logic; clk10 : IN std_logic; CE : IN std_logic; clk1 : OUT std_logic entity divisor1000 is ); Port ( clk1000 : in std_logic; END COMPONENT; reset : in std_logic; -- Declaración de señales CE : in std_logic; -- Señal de habilitacion de cuenta signal clk10_enable: std_logic; myclk1 : out std_logic); signal clk100_enable: std_logic; end divisor1000; begin -- Instanciación del componente Inst_divisor10: divisor10 PORT MAP( reset => reset , clk10 => clk1000, CE => '1', clk1 => clk100_enable ); -- Instanciación del componente Inst_divisor100: divisor10 PORT MAP( reset => reset, clk10 => clk1000, CE => clk100_enable, clk1 => clk10_enable ); -- Instanciación del componente Inst_divisor1000: divisor10 PORT MAP( reset => reset , clk10 => clk1000, CE => clk10_enable, clk1 => myclk1 ); 5 2005-2006 VHDL estructural end Behavioral; Descripción estructural 3