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
traitement de donnée sur fpga xilinx a partir de la sram
Modérateur : Modérateur
traitement de donnée sur fpga xilinx a partir de la sram
La Vérité est partout !
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 :
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).
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
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).