-- Algoritmo de ordenación de valores

--1. Creación del package

package pack is -- Nombre del package

procedure ord (signal x, y: in integer; signal z, v: out integer);

end;
package body pack is

procedure ord (signal x, y: in integer; signal z, v: out integer) is
begin

if x>=y then z <= x; v <= y;
else z <= y; v <= x;
end if;

end ord;

end; --Final de package

--2. Diseño del modelo

library ieee;
use ieee.std_logic_1164.all;
use
work.pack.all; -- Uso de la librería de trabajo y del package definido

- Declaración de la entidad
Entity ordenar is
port (

a, b: in integer;
c, d: buffer integer);

end ordenar ;

-- Definición de la arquitectura
Architecture bhr of ordenar is
begin

ord (a, b, c, d); -- Llamada al procedimiento: c=max(a,b), d=min(a,b)

end bhr;


WcN - Joan Oliver. Diseño de circuitos digitales con VHDL