Autor Tema: codificador con prioridad y circuito combinacional  (Leído 3824 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado descaminar

  • PIC10
  • *
  • Mensajes: 1
codificador con prioridad y circuito combinacional
« en: 01 de Noviembre de 2004, 17:08:00 »
hola a todos.
     os dejo el enunciado de dos ejercicios q no me salen para haber si alguno/a de ustedes puede hecharme una mano.
    1)programar en vhdl un circuito combinacional cuya entrada será un número natural(comprendido entre 0 y 127)y cuya salida será un vector de siete bits,que codificaran en binario natural el valor de dicho numero,Se realizará una arquitectura algoritmica.realmente el circuito lo que hace es convertir de natural a binario.

   2)Un codificador con prioridad q tnedra como entrada un vector de siete bits (numerados del 1 al 7)y como salida  un vector de tres bits que codificara cual de las entradas que esten activas (a uno)es la mas prioritaria.el orden de prioridad es q la entrada 1 es la menos prioritaria y la 7 la de mas prioridad.se realizara una implementcaion en flujo de datos.
   

     Esos son los ejercicios os agradeceria q me pudieras hehcar una mano xq estoy aprendiendo a programar en ese lenguaje.
     Muchas gracias de antemano y un saludo

Desconectado Elena2000

  • PIC24F
  • *****
  • Mensajes: 722
RE: codificador con prioridad y circuito combinacional
« Respuesta #1 en: 05 de Noviembre de 2004, 07:15:00 »
Hol Descaminar!

Perdona que no te haya contestado antes, pero me has pillado en una semanita muy liada..

A ver, te doy pistas para hacer el primer ejecicio, el del conversor decimal-binario. No te lo voy a decir todo todo, porque lo bueno es que lo intentes tú, vale? si te atascas pon aquí el código y lo miramos.  Mira, hay varias maneras de implementar el conversor, pero por ejemplo una puede ser:

Codigo:

type palabra is array (7 downto 0) of bit;
subtype natural is integer rango 0 to 128;

function natural_binario (entrada : natural) return palabra is
   variable resultado : palabra;
         begin
       for index in 0 to 7 loop
     -- algortimo recursivo para obtener el número binario que corresponde al
           -- valor decimal... ya sabes, divide y toma el resto, divide y toma el resto, bla
           -- bla
      end loop;
   return resultado;
end natural_binario;



Si te animas a utilizar este método para hacer el conversor, recuerda que la declaración de las funciones deben estar incluidas en un paquete.

Bueno, ya nos contarás, vale? (el segundo ejercicio es más sencillito.. animo)!