ERROR DE PRUEBA DE VHDL

-2

Tengo que escribir un código de banco de pruebas para un bloque que tiene dos entradas que eran "X" e "Y" con salida "A". El comportamiento del bloque es la adición de dos señales de entrada, el valor agregado se almacena en "A". Dos entradas son valores de 8 bits y la salida tiene un ancho de 9 bits.

Aquí está mi código para testbench pero recibo un error ... por favor, ayúdame.

CÓDIGO:

library IEEE;
USE ieee.std_logic_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--USE ieee.numeric_std.ALL;

ENTITY intensity1_tb IS
END intensity1_tb;

ARCHITECTURE behavior OF intensity1_tb IS 

    -- Component Declaration for the Unit Under Test (UUT)

    COMPONENT intensity1
    PORT(
         X : IN  std_logic_vector(7 downto 0);
         Y : IN  std_logic_vector(7 downto 0);
         A : OUT  std_logic_vector(8 downto 0)
        );
    END COMPONENT;


   --Inputs
   signal X : std_logic_vector(7 downto 0) := '00000000';
   signal Y : std_logic_vector(7 downto 0) := '00000000';           

    --Outputs
   signal A : std_logic_vector(8 downto 0) := '000000000';


BEGIN

    -- Instantiate the Unit Under Test (UUT)
   uut: intensity1 PORT MAP (
          X => X,
          Y => Y,
          A => A
        );

   -- Clock process definitions

   -- Stimulus process
   stim_proc: process
   begin        
      -- hold reset state for 100 ns.
      wait for 100 ns;

 X <= "00000000";   
 Y <= "11111111";
 A <= "011111111";

         wait for 100 ns;

 X <= "00001111";   
 Y <= "11110000";
 A <= "011111111";

         wait for 100 ns;

 X <= "00001100";   
 Y <= "10011000";
 A <= "010100100";


         wait for 100 ns;


 X <= "01111000";   
 Y <= "10001110";
 A <= "100000110";

      end process;          

END;
    
pregunta Ram Sai

1 respuesta

1

Estas comillas simples:

   --Inputs
   signal X : std_logic_vector(7 downto 0) := '00000000';
   signal Y : std_logic_vector(7 downto 0) := '00000000';           

    --Outputs
   signal A : std_logic_vector(8 downto 0) := '000000000';

Deben ser comillas dobles. Después de lo cual su código analiza. Sin la entidad / arquitectura para uut no es posible encontrar más errores.

    
respondido por el user8352

Lea otras preguntas en las etiquetas