traitement de donnée sur fpga xilinx a partir de la sram

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur : Modérateur

trappa
NOUVEAU
NOUVEAU
Messages : 1
Inscription : 23 mars 2007 16:50

traitement de donnée sur fpga xilinx a partir de la sram

Message par trappa »

bonjour,
je voudrais savoir si il est posible d'accéder a un fichier TXT dans la sram d'une carte fpga xilinx spartan !
le fichier texte présente sur chaque ligne 3 numéro representant 3 coordonnée d'un point par exemple ; comment je peux avoir accée a ces donnée pour un traitement ultérieur !

merci
La Vérité est partout !

Tortue
NOUVEAU
NOUVEAU
Messages : 11
Inscription : 16 mars 2007 3:09

Message par Tortue »

Salut!

Voilà ce que je pense (mais je n'en suis pas sûr)!
A mon avis il n'est pas possible de créer une sram, initialisé par un fichier texte, synthetisable. Le seul moyen, si tu souhaites faire du traitement de données à partir de valeurs que tu récupères d'une autre application, est de faire une LUT. Sous xilinx je ne sais pas le faire et c'est l'objet de mon message en dessous du tien.
Sous altera il existe une bloc lpm-dq-ram que tu peux initialiser par un fichier .mif ; la syntaxe est très simple, il te suffirait donc de transposer des valeurs de ton fichier .txt dans un fichier .mif. Sous xilinx je ne sais pas comment ça marche alors si quelqu'un a la réponse!! :)
Sinon si tu veux d'abord faire de la simulation avec ton fichier .txt je te propose ça :

Code : Tout sélectionner

module memory(addr, clk, rst, data);

input  [7:0]   addr;
input          clk;
input          rst;

output reg [3:0]   data;

reg [3:0] my_memory [0:255];

initial
begin
$readmemb("essai.txt", my_memory);
end
   
always
begin
   @(posedge clk or negedge rst)
      if(~rst) begin
          data[3:0] <= 0;
      end
      
      else begin
          data[3:0] <= my_memory[addr];
      end
       
   end
  
   endmodule
Après à toi de l'adapter à ton cas!

edit : utilises xilinx core generator qui permet de créer des rams que l'on peut initialiser avec un fichier .coe (tu peux l'ouvrir avec le bloc note).

Répondre