elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación General / VHDL: Leer array de fichero para la memoria de instrucciones de un procesador?? en: 6 Mayo 2013, 23:41 pm
Hola, tengo un problema con este código de la memoria de instrucciones de mi procesador MIPS. Lo he estado desarrollando en VHDL con ModelSim y aunque he conseguido que funcione insertando manualmente las operaciones, no consigo que lo lea desde un fichero. ¿Alguien sabe cómo? Mi problema está en asignar a cada instrucción (0,4,8,12,..) su salida (palabra de 32 bits).

Para leer sin fichero de texto:

Código
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. use ieee.std_logic_unsigned.all;
  4. use ieee.std_logic_textio.all;
  5. use std.textio.all;
  6.  
  7. ENTITY Memoria_Ins IS
  8.    port(address_i : IN std_logic_vector (31 DOWNTO 0);
  9.         d_o : OUT std_logic_vector (31 DOWNTO 0));
  10. END Memoria_Ins;
  11.  
  12. architecture funcional of  Memoria_Ins is
  13. type memoria is array(integer range <>) of std_logic_vector(31 downto 0);
  14. signal instrucciones : memoria(0 to 64):=
  15.   (0=>  "11110000000000110000000000000100",
  16.    4=>  "11110000000001010000000000001000",
  17.    8=>  "11000000101000110011000000000001",
  18.    12=> "00000100000010000000000000000000",
  19.    16=> "00001100000001010000000000001100",
  20.    20=> "10001000000000000000000000011100",
  21.    24=> "00000000000000000000000000000000",
  22.    28=> "11000001010001010001100000000101",
  23.    others=> "11111100000000000000000000000000");
  24.  
  25. begin
  26.  
  27.  d_o<=instrucciones(conv_integer(address_i));
  28.  
  29. end funcional;

Para leer con fichero de texto (intento de process):

Código
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. use ieee.std_logic_unsigned.all;
  4. use ieee.std_logic_textio.all;
  5. use std.textio.all;
  6.  
  7. ENTITY Memoria_Ins IS
  8.    port(address_i : IN std_logic_vector (31 DOWNTO 0);
  9.         d_o : OUT std_logic_vector (31 DOWNTO 0));
  10. END Memoria_Ins;
  11.  
  12. architecture funcional of  Memoria_Ins is
  13. type memoria is array(integer range <>) of std_logic_vector(31 downto 0);
  14. signal instrucciones : memoria(0 to 64);        
  15.  
  16.      --0 addi r0,r3,4
  17.      --4 addi r0,r5,8
  18.      --8 add r5,r3,r6 --12
  19.      --12 lw r0,0(r8)
  20.      --16 sw r0,12(r5)
  21.  
  22. begin
  23.  
  24.  d_o<=instrucciones(conv_integer(address_i));
  25.  
  26. process
  27.   FILE vector_test : text OPEN read_mode IS "test.txt";
  28.    VARIABLE vector : LINE;
  29.    VARIABLE instrucciones_aux : memoria(0 to 64);
  30.    VARIABLE palabra : std_logic_vector (31 DOWNTO 0);
  31.    VARIABLE instruccion : INTEGER;
  32.  
  33.  BEGIN
  34.     instruccion:=0;
  35.     WHILE NOT endfile(vector_test) LOOP
  36.  
  37.       readline(vector_test,vector); --Guardo la linea en vector
  38.       read(vector,palabra); --Obtengo los 32 bits de la palabra y los guardo en palabra
  39.       Instrucciones_aux:=(instruccion => palabra, others=> "11111100000000000000000000000000"); --Intento recrear el array de instrucciones con sus salidas
  40.       instruccion:= instruccion + 4; --Sumo 4 para el siguiente ciclo
  41.  
  42.       WAIT FOR 20 ns;
  43.      END LOOP;
  44.  
  45.      instrucciones <= instrucciones_aux;
  46.      file_close(vector_test);
  47. END process;
  48.  
  49. end funcional;

El fichero de texto sólo tiene las palabras de 32 bits:

"11110000000000110000000000000100
11110000000001010000000000001000
11000000101000110011000000000001
00000100000010000000000000000000
00001100000001010000000000001100"

Un saludo foreros ;D
2  Programación / Desarrollo Web / Re: Necesito ayuda urgente con mi página web en: 12 Marzo 2012, 23:16 pm
Muchas gracias, todo vuelve a la normalidad.

Un saludo!
3  Programación / Desarrollo Web / Necesito ayuda urgente con mi página web en: 11 Marzo 2012, 23:34 pm
Saludos foreros! Tengo un problema con mi página web y no sé como abordarlo.

Esta es mi web http://bushinotamashi.com/. El caso es que realicé una modificación y a todo el mundo parece que le sale pegada a la izquierda y con un margen enorme naranja (que no debería existir), sin embargo mi ordenador la reproduce a la perfección. Uso Dreamweaver CS3.

¿Alguien me puede aconsejar?
4  Foros Generales / Foro Libre / Re: Quien se anima y quiere crear una escuelita? en: 14 Agosto 2011, 13:17 pm
Yo me apunto!! Tengo ganas de empezar con este tema ya que siempre he estado muy metido con los ordenadores pero nunca he indagado en lenguaje de programación y cosas del estilo.

Un curso como el que pones en el foro me vendría genial ya que son conocimientos que más tarde puedo aplicar cuando estudie Ingeniería Informática.

Salu2!  ;D
5  Foros Generales / Noticias / Re: Un nuevo estándar USB promete revolucionar la forma de cargar dispositivos en: 14 Agosto 2011, 00:07 am
En efecto, los ordenadores y dispositivos con puertos USB 3.0 ya estan en el mercado, pero creo que esto se refiere mas a un nuevo tipo de cable, no al puerto en si.
6  Foros Generales / Noticias / Re: Condenado a tuitear 100 veces 'lo siento' en: 3 Junio 2011, 01:07 am
Que curioso! Aunque la desventaja respecto a la pizarra y a la tiza es que antes no podía hacer ctrl+c, ctrl+v...  :xD
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines