به نام خدا

سلام خدمت شما دوستان عزیز

امروز میخواستم یک رم بسازم که اطلاعات از فبل درونش باشه..! یعنی یه جورایی میخواستم یه رام بسازم (از طریق IP Core ها) و باید اونو init میکردم.

یعنی میخواستم یه رم بسازم که اطلاعات از قبل توش باشه و زمان اجرا بشه از اطلاعات درونش استفاده کرد!

بنابراین در صفحه ساخت Block RAM در IP core یه صفحه داره که باید فایل coe رو انتخاب کنید! این فایل در واقع اطلاعات درون رام رو در اختیار داره!

خوب کار خاصی نداره! البته هنوز خودم نفهمیدم چطور میشه یه فایل coe ساخت ولی میدونم میتونیم یه فایل تکست بسازیم و فرمتش رو به coe. تغییر بدیم و ساختار درونش باید مثل زیر باشه!

memory_initialization_radix = 10;
memory_initialization_vector = 
 0            ,
 0            ,
 1            ,
 2            ,
 3            ,
 5            ,
 7            ,
 9            ,
 11           ,
 14           ,
 18           ,
 21           ,
 25           ,
 30           ,
 34           ,
 39           ,
 44           ;


در کد بالا خط اول نوشته memory_initialization_radix که نشون دهنده ی مبنای اعداد استفاده شده است! یعنی در اینجا اطلاعات ما به صورت دهدهی  هست چون نوشته 10 و اگه نوشته بود 16 اون موقع میشد هگزا دسیمال و اگه نوشته بود 2 میشد باینری!

همین تموم شد!

کافیه همچین فایلی رو بنویسید و فرمتش رو به .coe تغییر بدید و اونو تو برنامه لود کنید تا رام یا رم شما با اطلاعات از قبل تعریف شده تولید  بشه!

امیدوارم موفق باشید

یا علی مدد...!