- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello everyone,
So I have been trying to write a simple VHDL code for a RAM with the following conditions, no success yet. Can anyone please help me with a code?. 1. Say I need a 2KB RAM with 1024 address locations and each location will be filled with 16 bit data. 2. My first 4 memoy locations should have the value 1122, 3344, 5566, 7788, 9988, and the rest should have values from 0 to 1019 respectively. I am struggling with the part where I need the first 4 locations to be a specific value, and the rest to be the counter values from 0 to 1019. I don't know how to write that in VHDL. Please help me with a code, . Will be highly appreciated, thanks. Kind Regards, ManojLink Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Hello everyone, So I have been trying to write a simple VHDL code for a RAM with the following conditions, no success yet. Can anyone please help me with a code?. 1. Say I need a 2KB RAM with 1024 address locations and each location will be filled with 16 bit data. 2. My first 4 memoy locations should have the value 1122, 3344, 5566, 7788, 9988, and the rest should have values from 0 to 1019 respectively. I am struggling with the part where I need the first 4 locations to be a specific value, and the rest to be the counter values from 0 to 1019. I don't know how to write that in VHDL. Please help me with a code, . Will be highly appreciated, thanks. Kind Regards, Manoj --- Quote End --- I will just instantiate it with mif (with freedom from hdl inference)
fid = fopen('filename.mif','w');
fprintf(fid,'--MIF data generated by MATLAB\n');
fprintf(fid,'--Date: %s \n\n', date);
fprintf(fid,'WIDTH=16;\n');
fprintf(fid,'DEPTH=1024;\n');
fprintf(fid,'ADDRESS_RADIX=UNS;\n');
fprintf(fid,'DATA_RADIX=DEC;\n');
fprintf(fid,'CONTENT BEGIN\n');
fprintf(fid,'0 : 1122;\n');
fprintf(fid,'1 : 3344;\n');
fprintf(fid,'2 : 5566;\n');
fprintf(fid,'3 : 7788;\n');
fprintf(fid,'4 : 9988;\n');
for i = 5:1023
fprintf(fid,'%i : %i;\n',i,i-5);
end
fprintf(fid,'END;');
fclose(fid);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you. I see that you have used filename.mif, is that from MATLAB?
Is there a way to write the same program, say using a basic simulator like ModelSIM? Regards, Manoj- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Thank you. I see that you have used filename.mif, is that from MATLAB? Is there a way to write the same program, say using a basic simulator like ModelSIM? Regards, Manoj --- Quote End --- Yes that is matlab geneartion I believe you can write text file in Modelsim in same way. run a counter 0_1023 set values for signal temp as your values depending on counter value then write text file out.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page