Quarus 2 13.0 rom IP的使用

文章讲述了如何生成ROM的初始化MemoryInitializationFile(MIF)文件,包括在软件中设置数据个数和位宽,以及使用MATLAB脚本自动生成。之后,文章介绍了如何通过MegaWizardPlug-InManager创建ROM的IP核文件,并将其添加到工程中,提供了实例代码供参考。
摘要由CSDN通过智能技术生成

1.首先生成rom的初始化mif文件,Files-New-Memory INitialization File 

设置数据个数和位宽

之后会生成一个像表格的文件,让你去填入数据,在表格的第一列或者第一行右键,可以选择地址或者数据的格式,2,8,10,16进制可选

 生成完后关闭就可以了

生成mif文件还可以直接使用脚本生成

下面是matlab生成的代码

depth =4096; %存储器的深度
widths = 8; %数据宽度为8位
a1(1:1:depth)=0;%初始化一个矩阵


%正弦波
N = 0 :4095; %把一个周期的正弦信号分为4096份
qqq = fopen('sine.mif','wt'); %使用fopen函数生成sine.mif
fprintf(qqq, 'depth = %d;\n',depth); %使用fprintf打印depth = 4096;
fprintf(qqq, 'width = %d;\n',widths); %使用fprintf打印width = 8;
fprintf(qqq, 'address_radix = UNS;\n'); %使用fprintf打印address_radix = UNS; 表示无符号显示数据
fprintf(qqq,'data_radix = UNS;\n'); %使用fprintf打印data_radix = UNS; 表示无符号显示数据
fprintf(qqq,'content begin\n'); %使用fprintf打印content begin
for x = 1 : depth %产生正弦数据
    a1(x)=round((255*(sin(2*pi*(x-1)/4096)+1))/2);
    fprintf(qqq,'%d:%d;\n',x-1,a1(x)); 
end
%plot(a1,'r','LineWidth',2);
fprintf(qqq, 'end;'); %使用fprintf打印end;
fclose(qqq);

 2.生成rom的ip核文件

选择Tools 点击MegaWizard Plug-In Manager

 

进入ip设计阶段

 

 选择mif文件

 生成的EDA 库文件,这里直接下一步

 选择生成文件

 可以按下面这样选择

 点击Finish,弹出对话框,询问是否将ip加入工程,点击Yes

打开生成的inst文件,如下所示(编辑器打开)

sin	sin_inst (
	.address ( address_sig ),
	.clock ( clock_sig ),
	.q ( q_sig )
	);

可以将上面代码复制到你的设计中,就可以使用了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值