verilog中读写文件操作
来源:互联网 发布:网络直播平台土豪排名 编辑:程序博客网 时间:2024/06/05 11:58
简述
在verilog设计验证中,我们经常需要从文件中读取验证数据,有些数据是文本文件,有些数据是二进制文件。但是verilog读写文件的操作和软件语言还是有不同的,下面就具体总结一下verilog中的读写文件的操作。
读写二进制文件
不管是读写二进制文件还是读写文件文件,都要把读取到的数据放入到硬件设计中某个寄存器或者存储器中,这是verilog和软件语言读写文件最大的不同。
其实verilog读写文件的过程和普通的软件语言大同小异,都分为下面几步:
打开文件
重定位文件(可选)
文件读写操作
关闭文件
下面是一个具体的读文件的实例:
initial
begin
always @( negedge rstn_i or posedge clk_i )
begin
if ( rstn_i == 1’b0 )
begin
data_i <= {DW{1’b0}};
file_id =
end
if( read_num == PACKAGE_NUM-1 )
begin
//en_i <= 1’b0;
//
r =
#10;
if( weight_compare == weight )
end
在上面的程序中,我们是打开了一个二进制文件param_data_bend.bin,然后进行读取操作$fread(data_i, file_id )
,注意这个fread的参数顺序和网上说的都不一样,就这一点耽误了我很长时间,第一个应该是变量,第二个是文件句柄。由于在上面的程序中,数据不是一次性读完,所以我们又有一个重定位的操作$fseek(file_id,exchange_num*MATRIX_LEN*FW/8,SEEK_SET)
,这里也是有一点必须要注意,就是fseek函数必须有返回值,狗则vcs一直编译不通过,对于这个我也是非常费解,为何还会有这样奇葩的规定。
上面就是关于verilog读取二进制数据的具体过程,读取文本文件会在以后总结。
- verilog中读写文件操作
- verilog testbench中 文本读写的操作
- verilog存储器读写操作
- verilog读写文件测试
- verilog文件读写
- Verilog读写文件
- verilog系统任务对文件的读写操作
- verilog读写文件(整理)
- Android中读写文件操作
- QT中读写文件操作
- Verilog中testbench的设计,文件读取和写入操作
- Verilog 读写文件(整理二)
- verilog文件操作代码(转)
- Java 中对文件的读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- Tmux 快捷键
- 过滤器与拦截器
- 使用sqlyog导入数据表到MySql中
- Bracket Matching(Data structure)
- Spark2.0 Structured Streaming
- verilog中读写文件操作
- 【xxnet】xxnet使用总结
- 拓展欧几里得模板
- 小站使用的ECS机器部署,无法通过360网站安全检测,求解,多多儿小说网
- 移动端像素的深究
- android机型适配终极篇
- hdoj5493【树状数组+二分】
- iOS 本地存储之Txt文本存储
- 第十三期 U-Boot编译原理《路由器就是开发板》