problemas con la lectura del archivo en VHDL

0

He implementado una computadora con un archivo de memoria.
El archivo de memoria es de 64 vectores con 16 bits cada uno. He escrito un módulo que lee de un archivo y mi memoria está en otro módulo. ¿Cómo puedo colocar los valores en la memoria cuando leo el archivo? A continuación se muestra el código VHDL para memoria y lectura del archivo:

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_textio.all;
use std.textio.all;
entity text_read is
  port(address : in std_logic_vector(15 downto 0);
    dataout : out std_logic_vector(15 downto 0));
end entity;
architecture read of text_read is
    type memin is array (63 downto 0) of std_logic_vector(15 downto 0);
    signal MEM : memin;
    begin
        process(address)
            FILE f : TEXT;
            constant filename : string :="output.txt";
            VARIABLE L : LINE;
            variable i : integer:=0;
            variable b : std_logic_vector(15 downto 0);
            begin

                File_Open (f,FILENAME, read_mode);  
        while ((i<=15) and (not EndFile (f))) loop
        readline (f, l);
        read(l, b);
        MEM(i) <= b;
        i := i + 1;
    end loop;
    File_Close (f);                    
            dataout<=MEM(conv_integer(address));
        end process;
    end read;

ARCHITECTURE dataflow OF memory IS
    SIGNAL MEM : regfile;
BEGIN
    PROCESS (clk)
      VARIABLE add : integer;   
    BEGIN
        IF (clk = '1') THEN

          MEM(0)  <= "1111000011111111";
          MEM(1)  <= "1111000111111111";
          .
          . 
          .
//the process part is working fine
    END PROCESS;

END dataflow;
    
pregunta Melika Knight

0 respuestas

Lea otras preguntas en las etiquetas