Geheugen Intialization in Xilinx ISE 8.1i Webpack

S

sriramsv

Guest
Hallo vrienden,

Ik heb een 16x16 matrix die ik nodig om te slaan in een geheugen en de waarden te gebruiken voor m mijn calculation.I 'codering in Verilog.Ik weet niet zeker hoe het geheugen te initialiseren en opslaan.De Webpack heeft tools zoals Core generator en veel andere voeders.Kan iemand vertellen welke u wilt gebruiken en hoe kan ik initialiseren van het geheugen!

Bedankt
Dag
Sriram

 
Verschillende methoden beschikbaar.Zie de XST User Guide -> HDL Coding Technieken -> RAM / ROM -> Initializing RAM.
Versie 8.1i steunt gedeeltelijk "initiële" en "$ readmem *", zodat u wat initialiseren kunt doen in uw HDL zonder gebruik van externe hulpmiddelen.
Last edited by echo47 op 13 februari 2006 10:45; bewerkten in totaal 1 keer

 
tanx voor de info.maar het probleem is de eerste en $ readmem zijn niet synthetiseerbare codes!

 
Ja ze zijn!Kijk in de Xilinx handleiding.

U hebt waarschijnlijk al lezen Verilog schoolboeken, of het luisteren naar Verilog leraren.Ze bestendigen veel fouten.
Last edited by echo47 op 13 februari 2006 10:48, edited in totaal 1 keer

 
http://64.233.179.104/search?q=cache:O6VZBqlVtB4J:www.ee.ucla.edu/ ~ herwin/ocdma/afx-300/ug012.pdf Geheugen Initialisatie in Xilinx ISE 8,1 i tutorial Webpack & hl = nl & gl = nl & ct = clnk & cd = 9

 
ashaheer, dat V2P handleiding is oude geschiedenis voor deze discussie.

Dit werkt prima in ISE 8.1i, target Spartan-3.Pas op dat ISE ondersteunt alleen een-dimensionale arrays met $ readmem (of misschien heb ik gewoon niet hebben bedacht hoe je het aan het werk met meer dimensies):
Code:

module top (clk, out);

input clk;

reg [7:0] matrix [0:255];

reg [3:0] x = 0, y = 0;

output reg [7:0] out;eerste beginnen

$ readmemh ( "mydata", matrix, 0, 255);

eindigenaltijd @ (posedge clk) beginnen

(y, x) <= (y, x) 1;

uit <= matrix [(y, x)];

eindigen

endmodule
 
met behulp van IP-kern afwerking uw ontwerp

in de stap kunt u uw ram initialiseren met een bestand
die is *. coe .....

proberen ...

 
tanx voor jongens jr antwoord, zal ik zeker proberen de methoden.

 
het initiallization is niets anders dan rom ontwerp.
U kunt het ontwerp van een rom met alle datas r opgeslagen.
vanaf daar u het kunt openen.
Ik heb nog een twijfel kan ik mijn geheugen met behulp van toegang
reg [7:0] geheugen [128:0]
commando.
Maar als ik wil om het te lezen vanaf daar en opgeslagen in ram.
hoe het mogelijk?
kunt u geven een monster codes.
en ook ik moet kopiëren continiuous gebruik tegen te gaan.
bedankt

 
Ja en nee.Het is ROM gewoon omdat het voorbeeld code niet schrijven.Maar het * kan * schrijven.Dan zou worden geïnitialiseerd RAM.

Heeft u echt nodig om de ROM te kopiëren naar RAM, of wil je gewoon eens naar het RAM-geheugen initialiseren alvorens het te gebruiken?
Dit voorbeeld initialiseert het RAM-geheugen met een aantal gegevens, en vervolgens eindeloos stappen elke byte RAM:

Code:

module top (clk, out);

input clk;

reg [7:0] matrix [0:255];

reg [3:0] x = 0, y = 0, x1 = 0, y1 = 0;

output reg [7:0] out;eerste beginnen

$ readmemh ( "mydata", matrix, 0, 255);

eindigenaltijd @ (posedge clk) beginnen

(y, x) <= (y, x) 1; / / volgende adres

uit <= matrix [(y, x)];

x1 <= x; / / pipeline

y1 <= y;

matrix [(y1, x1)] <= out 1; / / increment het RAM-byte

eindigen

endmodule
 

Welcome to EDABoard.com

Sponsor

Back
Top