打印

新年好,请大侠帮我个忙,把寄存器的数据保存到文档。

[复制链接]
1309|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sahh|  楼主 | 2013-1-1 18:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sahh 于 2013-1-1 18:52 编辑

在写test bench,需要把寄存器的数据保存到电脑,自己调试了一下,modelsim 报错,请大侠们指点一下。

cnt 被 start 信号激发计数,在start信号有效期间,要把 cnt 的值全部保存到文件file.txt里面去。因为对$fopen, $fdisplay 不熟悉,程序跑不动,modelsim提示错误如下:
            # ** Error: (vsim-3043) test.v(40): Unresolved reference to 'file'.
这里面指的是在这一句出错了:
          $fdisplay(file.txt, "%h ", cnt);


程序如下:
module test (
    input        CLKP,
    input        RSTN,
);

reg              start;
reg     [3:0]  cnt;
wire    [3:0]  max_value;

integer file_a;

assign max_value = 4'hf;

always @ (posedge CLKP or negedge RSTN) begin
    if (~RSTN) begin
          cnt <= 4'h0;
    end else if (start) begin

          cnt <= cnt + 4'h1;
    end else begin
          cnt <= 4'h0;
    end
end


always @ (posedge CLKP or negedge RSTN) begin
    if (~RSTN) begin
          start <= 1'b1;
    end else if (cnt == max_value) begin
          start <= 1'b0;
    end
end


always @ (posedge CLKP or negedge RSTN) begin
    if (~RSTN) begin
          file_a = $fopen("file.txt", "a");
    end else if (start) begin
          $fdisplay(file.txt, "%h ", cnt);     // <--  # ** Error: (vsim-3043) test.v(40): Unresolved reference to 'file'.
    end else begin
          $fclose(file.txt);
    end
end


endmodule

望能有大侠指点。

相关帖子

沙发
hechnology| | 2013-1-2 11:44 | 只看该作者
这些文件操作的系统任务(除了fopen),都应该用你fopen得到的文件描述符

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

224

帖子

0

粉丝