Memory Initialization File (.mif) 规定及生成的C程序
wldshy2011/02/13电子技术 IP:内蒙古

An ASCII text file (with the extension .mif) that specifies the initial content of a memory block (CAM, RAM, or ROM), that is, the initial values for each address. This file is used during project compilation and/or simulation. You can create a Memory Initialization File in the Memory Editor, the In-System Memory Content Editor, or the Quartus II Text Editor.
A Memory Initialization File serves as an input file for memory initialization in the Compiler and Simulator. You can also use a Hexadecimal (Intel-Format) File (.hex) to provide memory initialization data.
A Memory Initialization File contains the initial values for each address in the memory. A separate file is required for each memory block. In a Memory Initialization File, you must specify the memory depth and width values. In addition, you can specify data radixes as binary (BIN), hexadecimal (HEX), octal (OCT), signed decimal (DEC), or unsigned decimal (UNS) to display and interpret addresses and data values. Data values must match the specified data radix.
When creating a Memory Initialization File in the Quartus II Text Editor, you must start with the DEPTH, WIDTH, ADDRESS_RADIX and DATA_RADIX keywords. You can use Tab "\t" and Space " " characters as separators, and insert multiple lines of comments with the percent "%" character, or a single comment with double dash "–" characters. Address : data pairs represent data contained inside certain memory addresses and you must place them between the CONTENT BEGIN and END keywords, as shown in the following examples.


%  multiple-line comment
multiple-line comment  %    
– single-line comment
DEPTH = 32;                   — The size of data in bits
WIDTH = 8;                    – The size of memory in words
ADDRESS_RADIX = HEX;          – The radix for address values
DATA_RADIX = BIN;             — The radix for data values
CONTENT                       — start of (address : data pairs)
BEGIN
00 : 00000000;                – memory address : data
01 : 00000001;
02 : 00000010;
03 : 00000011;
04 : 00000100;
05 : 00000101;
06 : 00000110;
07 : 00000111;
08 : 00001000;
09 : 00001001;
0A : 00001010;
0B : 00001011;
0C : 00001100;
END;








Address : Data Pairs Syntax Rules
Definition
Example

A : D
Addr[A] = D
2 : 4
Address: 01234567
Data:    00400000

[A0..A1] : D
Addr[A0] to [A1] contain data D
[0..7] : 6
Address: 01234567
Data:    66666666

[A0..A1] : D0 D1
Addr[A0] = D0,
Addr[A0+1] = D1,
Add [A0+2] = D0,


Addr[A0+3] = D1,


until A0+n = A1
[0..7] : 5 6
Address: 01234567
Data:    56565656

A : D0 D1 D2
Addr[A] = D0,
Addr[A+1] = D1,
Addr[A+2] = D2
2 : 4 5 6
Address: 01234567
Data:    00456000
来自:电子信息 / 电子技术
1
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
wldshy
进士 学者 机友 笔友
文章
39
回复
80
学术分
4
2011/02/06注册,7个月24天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}