Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ ? ]
Este foro usa cookies
Este foro usa cookies para almacenar tu sesión de inicio si estás registrado, y de tu última visita si no lo estás. Las Cookies son un pequeños documento de texto almacenado en tu PC; las cookies de este foro sólo pueden ser usadas en el mismo y no suponen ninguna amenaza para tu seguridad. Estas Cookies también anotan los hilos que has leído y cuándo lo has hecho. Por favor, confirma si aceptas o declinas el uso de estas cookies.

Una cookie será almacenada en tu navegador a pesar de tu decisión para prevenir que este mensaje te vuelva a aparecer. Podrás cambiar la configuración de las cookies en cualquier momento siguiendo el enlace de la parte inferior.

Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.

Nombre de usuario/Email:
  

Contraseña
  





Buscar en los foros

(Búsqueda avanzada)

Estadísticas del foro
» Miembros: 580
» Último miembro: dani
» Temas del foro: 400
» Mensajes del foro: 851

Estadísticas totales

Últimos temas
examen 2023/2024
Foro: Sistemas lineales
Último mensaje por: jyl
31-10-2024, 10:59
» Respuestas: 0
» Vistas: 105
ejercicios de examen ( bi...
Foro: Componentes y Dispositivos
Último mensaje por: jyl
31-10-2024, 10:56
» Respuestas: 0
» Vistas: 110
TDCs cursos 22-23 y 23-24
Foro: Conmutación
Último mensaje por: varo
01-09-2024, 15:03
» Respuestas: 0
» Vistas: 349
Examen prácticas 2024
Foro: Teoría de la comunicación
Último mensaje por: varo
01-09-2024, 14:58
» Respuestas: 0
» Vistas: 116
segundo parcial
Foro: Transmisión de datos
Último mensaje por: jyl
28-07-2024, 17:49
» Respuestas: 0
» Vistas: 91
segundo parcial
Foro: Redes y servicios de telecomunicaciones
Último mensaje por: jyl
24-07-2024, 00:53
» Respuestas: 0
» Vistas: 187
Prácticas curso 23/24
Foro: Componentes y Dispositivos
Último mensaje por: varo
14-07-2024, 11:22
» Respuestas: 0
» Vistas: 213
2do parcial
Foro: Redes inalámbricas
Último mensaje por: casanova
24-06-2024, 18:30
» Respuestas: 1
» Vistas: 208
problema 1 del examen de ...
Foro: Teoría de la comunicación
Último mensaje por: jyl
15-06-2024, 01:53
» Respuestas: 0
» Vistas: 209
Parciales del 2024
Foro: Teoría de la comunicación
Último mensaje por: jyl
04-06-2024, 20:28
» Respuestas: 0
» Vistas: 389

 
  Exámenes grado.
Enviado por: José Antonio Martín Martínez - 11-01-2014, 18:27 - Foro: Sistemas lineales - Respuestas (1)

Si alguien tiene exámenes de grado, a ver si puede hacer el favor de subirlos (aun que no estén resueltos).

Un saludo!

Imprimir

  Práctica 4
Enviado por: alfonso - 14-12-2013, 21:32 - Foro: Ondas electromagnéticas - Respuestas (3)

[Para ver los enlaces debes registrate]

tenéis la práctica 4 de Ondas Gran sonrisa

Imprimir

  Practicas
Enviado por: Jose Car - 10-12-2013, 13:56 - Foro: Componentes y Dispositivos - Respuestas (3)

Alguien tiene idea de como hacer los ejercicios teóricos de la practica 6?

Imprimir

  Práctica 3
Enviado por: alfonso - 04-12-2013, 23:02 - Foro: Ondas electromagnéticas - Sin respuestas

Hola,

La práctica 3 correspondiente a la asignatura de Ondas Electromagnéticas la podéis encontrar

[Para ver los enlaces debes registrate]


Está en la misma carpeta que el

[Para ver los enlaces debes registrate]

resueltos de Ondas.

Imprimir

  Práctica 1
Enviado por: alfonso - 15-11-2013, 22:55 - Foro: Arquitecturas Hardware de Comunicaciones - Sin respuestas

Aquí tenéis la práctica 1 resuelta:
Multiplicador_tb3.vhd:

Código:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY Multiplicador_tb IS
END Multiplicador_tb;

ARCHITECTURE behavior OF Multiplicador_tb IS

    
    COMPONENT mult_sec
    PORT(inbus : IN  std_logic_vector(15 downto 0);
         outbus : OUT  std_logic_vector(15 downto 0);
         I : IN  std_logic;
         clk : IN  std_logic;
         reset : IN  std_logic);
    END COMPONENT;
    

   --Entradas
   signal inbus : std_logic_vector(15 downto 0) := (others => '0');
   signal I : std_logic := '0';
   signal clk : std_logic := '0';
   signal reset : std_logic := '1';

    --Salidas
   signal outbus : std_logic_vector(15 downto 0);


   constant periodo : time := 100 ns; --10 MHz

BEGIN

    uut: mult_sec PORT MAP (
          inbus => inbus,
          outbus => outbus,
          I => I,
          clk => clk,
          reset => reset);

  
    clk <= not clk after periodo/2;

   -- Asignación secuencial de estimulos
   tb: PROCESS
   BEGIN        
     reset <= '1';    --reset inicial
      wait for 2*periodo;
      
      reset <= '0';    --desactivamos el reset
      wait for 1*periodo;
      
      inbus <= "0000110100001011"; -- operandos M = 11, Q = 13.
      I <= '1'; -- activamos señal escritura
      wait for 2*periodo;
      
     I <= '0'; -- desactivamos señal de escritura
      wait for 2*periodo;
      
      inbus <= "0000000000000000"; -- Inbus = 0
      
      wait for 16*periodo; -- resultado aparece tras 16 ciclos
      wait;
      
      END PROCESS;
END;
mult_sec3.vhd:
Código:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity mult_sec is
    Port ( inbus : in  STD_LOGIC_VECTOR (15 downto 0);
           outbus : out  STD_LOGIC_VECTOR (15 downto 0);
           I : in  STD_LOGIC;
           clk : in  STD_LOGIC;
           reset : in  STD_LOGIC
  );
end mult_sec;

architecture Behavioral of mult_sec is

    type type_state is(INICIO, SUMACU, DESDEC);
    signal state, nextstate: type_state;--
    
    signal init, ld, sh, Z: std_logic;
    signal CA, pp: std_logic_vector (8 downto 0);
    signal Q, M: std_logic_vector (7 downto 0);
    signal cnt: unsigned (2 downto 0);
    
begin

-- Registros C y A
process (clk, reset)
begin
   if reset='1' then  
      CA <= (others => '0'); -- Unión de acumulador y acarreo, CA
   elsif (clk'event and clk='1') then  
      if (init = '1') then
         CA <= (others => '0');
        elsif (ld = '1') then -- instrucción de carga
            CA <= pp; -- pp =  producto parcial
        elsif (sh = '1') then
            CA <= '0' & CA (8 downto 1); -- desplazamiento
      end if;
   end if;
end process;

-- Registro Q
process (clk, reset)
begin
    if reset = '1' then
        Q <= (others => '0');
        elsif (clk'event and clk = '1') then
            if (I = '1') then--si carga habilitada
                Q <= inbus (15 downto 8); --tomamos Q del byte de mayor peso del inbus
            elsif (sh='1') then--si carga habilitada
                Q <= CA(0) & Q(7 downto 1);--tomamos M del byte me menor peso del inbus
            end if;    
    end if;
end process;

-- Registro M
process (clk, reset)
begin
    if reset = '1' then
        M <= (others => '0');
        elsif (clk'event and clk = '1') then
            if (I = '1') then
                M <= inbus (7 downto 0);                 
        end if;    
    end if;
end process;

--Sumador
pp <= std_logic_vector(unsigned('0' & CA(7 downto 0)) + unsigned('0' & M)); -- la suma puede producir 9 bits(pp)

--Salida
outbus <= CA(7 downto 0) & Q;

--Contador
process (reset, clk)
begin
   if (reset = '1') then
      cnt <= (others => '0');
   elsif clk = '1' and clk'event then
         if (init = '1') then
            cnt <= "111"; -- iniciamos a 7 y bajando
         elsif (sh = '1') then
            cnt <= cnt - 1;
         end if;
      end if;
end process;

--Detector de cero
process(cnt)
begin
    if (cnt = "000") then
        Z <= '1';
    else
        Z <= '0';
        end if;
end process;

-- Unidad de Control:
process(reset, clk)
begin
    if (reset = '1') then
        state <= INICIO;
        elsif clk'event and clk = '1' then
            state <= nextstate;
            end if;
end process;

process(state, I, Q(0), Z)
begin
    init <= '0'; ld <= '0'; sh <= '0';
    case state is
        when INICIO =>
            if (I = '1') then
                init <= '1';
                nextstate <= SUMACU;
            else
                init <= '0';
                nextstate <= INICIO;
            end if;        
        when SUMACU =>
            if (Q(0) = '1') then
                ld <= '1';
            else
                ld <= '0';
            end if;
                nextstate <= DESDEC;        
        when DESDEC =>
            if (Z = '1') then
                nextstate <= INICIO;
            else
                nextstate <= SUMACU;
            end if;
                sh <= '1';        
    end case;
end process;
    
end Behavioral;

Imprimir