TODOPIC

Otros Microcontroladores / Dispositivos programables => Lógica Programable => Mensaje iniciado por: gera en 23 de Junio de 2010, 22:24:54

Título: mini duda con multiplexor
Publicado por: gera en 23 de Junio de 2010, 22:24:54
Hola a todos!!
Estoy practicando un poco de vhdl porque me lo piden en una materia, y tenia una pequeña duda. Hice un multiplexor para practicar un poco, este es el codigo:

Código: VHDL
  1. library ieee;
  2. use ieee_std_logic_1164.all;
  3.  
  4. ENTITY mux IS
  5. PORT(
  6.         sel: in std_logic;
  7.         in1,in2: in std_logic_vector(0 to 3);
  8.         output: out std_logic_vector(0 to 3)
  9.         )
  10. END mux;
  11.  
  12. ARCHITECTURE mux_arc OF mux IS
  13. BEGIN
  14.         output <= in1 WHEN sel='0' ELSE
  15.                   in2 WHEN sel='1' ELSE
  16.                   UNAFFECTED;
  17. END mux_arc;

Pero en wikipedia hay un ejemplo (http://es.wikipedia.org/wiki/VHDL#Multiplexor) que me pierde un poco. Por qué usa el process? Yo tengo por entendido que si se trata de un combinacional no es necesario.
Espero q me aclaren la duda y desde ya muchas gracias!! :D
Título: Re: mini duda con multiplexor
Publicado por: JOJOJORGE5 en 27 de Junio de 2010, 18:23:49
Hola gera

yo tampoco tengo mucho conocimiento de VHDL pero estoy casi seguro que usan process para poder usar las estructuras como case y demas que simplifican y ayudan mucho.

salu2:)
Título: Re: mini duda con multiplexor
Publicado por: gera en 27 de Junio de 2010, 19:26:14
Entonces supongo q en el caso de un simple combinacional no se justifica. No sabia q no se puede usar case, if y esas cosas fuera de un process, pero ahora q me lo mencionas me doy cuenta.
Muchas gracias por la respuesta! :)
Título: Re: mini duda con multiplexor
Publicado por: Modulay en 28 de Junio de 2010, 03:54:18
Al ser un proceso combinacional, diría que no hay diferencia significativa entre una implementación y otra, ya que al no haber reloj por ningun sitio, no se registran ni entradas ni salidas
Título: Re: mini duda con multiplexor
Publicado por: Modulay en 28 de Junio de 2010, 04:00:26
Pues si que resulta significativa la diferencia a la hora de sintetizar

(http://img251.imageshack.us/img251/3258/muxp.th.jpg) (http://img251.imageshack.us/i/muxp.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)
Título: Re: mini duda con multiplexor
Publicado por: gera en 28 de Junio de 2010, 13:18:07
Interesante. Que programa usaste para simular y sintetizar modulay??
Título: Re: mini duda con multiplexor
Publicado por: pablomanieri en 28 de Junio de 2010, 13:43:13
Modulay, si se ven diferencias al sintetizar, pero tengo que hacer una observación, en el primero, usando process, no se tiene en cuenta el estado de alta impedancia, y en el segundo si. Además en el primero, cada bit del SEL tiene que estar en un valor determinado para que se cumpla la condición, en el segundo se le hace caso solo a un bit del SEL. Creo que no se le está diciendo al sintetizador que haga lo mismo. Por eso las diferencias
Título: Re: mini duda con multiplexor
Publicado por: Modulay en 28 de Junio de 2010, 14:26:34
Interesante. Que programa usaste para simular y sintetizar modulay??

Esa imagenlao he sacado de un pdf que tengo por aquí, gera.
Para simular diseños uso modelsim.
Para síntesis y configuración uso Xilinx ISE

Modulay, si se ven diferencias al sintetizar, pero tengo que hacer una observación, en el primero, usando process, no se tiene en cuenta el estado de alta impedancia, y en el segundo si. Además en el primero, cada bit del SEL tiene que estar en un valor determinado para que se cumpla la condición, en el segundo se le hace caso solo a un bit del SEL. Creo que no se le está diciendo al sintetizador que haga lo mismo. Por eso las diferencias

Pues si, parece que me dejé llevar por la euforia jaja.