首页 热点专区 义务教育 高等教育 出国留学 考研考公

求Verilog高手 关于Fopen

发布网友

我来回答

3个回答

热心网友

呵呵,fopen是打开一个文件,格式无所谓。读取的文件格式也无所谓,什么.dat、.txt、.v都行,只要里面存的是二进制数或十六进制数,并且满足你所使用的系统函数就可以了。
学习知识,一定要自己去动手,还要和大家分享,直接用一个邮箱把东西搞走了,以后想学的人遇到你的问题,还是不知所措,所以,我替你慷慨一点吧,在这里贴一段小代码,希望能帮到你,也希望能帮到后来者。
mole FSM_9EDA_test;
reg Clk, Rst, Data_In;
wire Y_9e, Y_da, Err_9e, Err_da;
wire [7:0] Num_9e, Num_da;

reg mem[0:2155];
integer i, moniter_file;

initial
begin
Clk = 0;
Rst = 0;
i = 0;
Data_In = 0;
#5 Rst = 1;
#15 Rst = 0;
#15 Rst = 1;
end

initial
begin
moniter_file = $fopen("Outcome.txt");
#20 $readmemb("Sequence.txt",mem);
#22000 $fclose(moniter_file);
$stop();
end

always #5 Clk = ~Clk;

always@(posedge Clk)
begin
Data_In <= mem[i];
i <= i + 1;
if(Y_9e)
$fdisplay(moniter_file,"at time %t \t Y_9e sign the %d times.",$time,Num_9e);
if(Y_da)
$fdisplay(moniter_file,"at time %t \t Y_da sign the %d times.",$time,Num_da);
end

FSM_9EDA inst (Clk,Rst,Data_In,Y_9e,Y_da,Num_9e,Num_da,Err_9e,Err_da);

endmole

热心网友

fopen是打开一个文件,把文件里的数据写给变量,没看懂你的意思追问我也知道 但是 操作的时候老是出现问题 最后我就直接用过了一个for循环的readmem函数,把。txt的数据读到我定义的reg [n:0] mem[0:m]里面 modelsim仿真没有问题 。。。可是好像综合的时候有点问题 这一大堆函数以前没怎么用过 现在想看点例子学学 全的资料好少。。。。

热心网友

1
文件可以用系统任务$fopen打开。用法有两种
$fopen("<文件名>");
<文件句柄>=$fopen("<文件名>");
2$fdisplay是将数据写入制定的文件中。例如
h1=$fopen("文件名");%取一个文件的句柄
$fdisplay("数据");%将数据写入文件
3同上当你想关闭文件的时候就使用fclose
fclose(<文件句柄>);%这里的文件句柄就是在$fopen中获得的文件句柄

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com