Packages
Los paquetes son utilizados en VHDL para encapsular una serie de m贸dulos para despu茅s utilizarlos en otros m贸dulos
El package tiene la siguiente estructura:
library聽IEEE;
use聽IEEE.STD_LOGIC_1164.all;
package聽{nombrePackage}聽is
component聽{nombreComponente}
--聽Declaraci贸n聽de聽entradas聽y聽salidas聽(Igual聽que聽como聽est谩n聽decalaradas聽en聽el聽m贸dulo)
聽聽聽聽Port聽(聽s1聽:聽in聽聽STD_LOGIC;
聽聽聽聽聽聽聽聽聽聽聽s2聽:聽out聽聽STD_LOGIC;
聽聽聽聽聽聽聽聽聽聽聽s3聽:聽in聽聽STD_LOGIC_VECTOR聽(7聽downto聽0);
聽聽聽聽聽聽聽聽聽聽聽s4聽:聽out聽聽STD_LOGIC_VECTOR聽(7聽downto聽0);
聽聽聽聽聽聽聽聽聽聽聽--聽...
聽聽聽聽聽聽聽聽聽聽聽--聽...
聽聽聽聽聽聽聽聽聽聽聽--聽...
聽聽聽聽聽聽聽聽聽聽聽sn聽:聽in聽聽STD_LOGIC);
end聽component;
end聽{nombrePackage};
Para usar el costal, luego en otro m贸dulo VHDL:
use聽work.costal.all;
...
begin
--Etiqueta:聽NombreBloque聽port聽map(puertoBloque=>se帽al,
--聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽puertoBloque2=>se帽al2,
--聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽...
--聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽puertoBloquen=>se帽aln);
--Ejemplo
u1:聽divisor聽port聽map(clk=>mclk,clksal=>auxclk);聽--Tambi茅n聽puede聽ser聽una聽l铆nea
end聽Behavioral;