Verilog数据读写操作

Verilog数据读入

数据读入方式有寄存器阵列形式的一次装入,也有类似C语言的文件读写操作

存储器装入数据

$readmemh("file_name.mem",mem);
//16进制数据读入
$readmemb("file_name.mem",mem);
//2进制数据读入

Vivado环境下,执行前将数据文件file_name.mem添加到工程中即可(Add Source)
这种装入方式是将2进制类型文件,逐行的填入mem中。
不能识别十进制数,如“-5”

文件读写

读写过程与C语言操作类似

fp_r1 = $fopen("source.dat","r"); 		//打开名为source.dat的文件,读
fp_r2 = $fopen("data.dat","r"); 		//打开名为data.dat的文件,读

for(i=0;i<N;i=i+1)
	flag1 = $fscanf(fp_r1,"%d",source[i]);//逐行读出
for(i=0;i<N;i=i+1)
    flag2 = $fscanf(fp_r2,"%d",Sout[i]);

若打开失败$fopen()返回值为0
同样,Vivado下要把两个数据文件加入到工程当中。
此方式可以读入十进制有符号数,转为二进制保存在寄存器阵列中

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值