首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请帮忙找下verilog写的一个简单测试程序的错误.

请帮忙找下verilog写的一个简单测试程序的错误.

新手,请大家帮帮找下什么原因的错误.谢谢了!
我在F:\exam文件夹下有2个文件:compare_test.v和compare_one.v  
用modelsim编译时就只能compare_one.v通过,而test的那个通不过.
compare_one.v的程序:
module compare_one(f,a,b);
    input [3:0] a,b;
    output f;
   assign f= com(a,b);
   function com;
       input [3:0] a,b;
       if(a>b)
       com=1;
       else
       com=0;
   endfunction
endmodule

test的那程序:
`timescale 1ns/1ns
`include "./compare_one.v"

module compare_test();
     reg [3:0] ta,tb;
     wire tf;
     parameter step=100;
     initial begin
         ta=0;tb=0;
         #step  ta=4'd5;
         #step  tb=4'd6;
         #step  ta=4'd6;
         #step  ta=4'd7;
         #step  tb=4'd8;
         #step  $stop;
      compare_one  cm(tf,ta,tb);
endmodule
编译时的错误:# -- Compiling module compare_test
# ** Error: F:/exam/compare_test.v(18): Undefined variable: compare_one.
# ** Error: F:/exam/compare_test.v(18): near "cm": syntax error
新手刚学,大家指导下,我在编功能模块的时候都是可以通过,就是在写它的测试程序的时候,在include了原模块,但编译测试程序就会出错,就象上面的错误一样.
熟悉verilog的大侠帮忙看下吧。

大浪淘沙
留下的全是金子
我在begin后少了end 但加上后每次都有下面的错误,
# ** Error: F:/aaa/compare_test.v(2): Cannot open `include file "./compare_one.v".
我不是已经把2个文件放在一个文件夹里了啊,用`include "./compare_one.v"就出现上面的错误, 如果我是几个模块放在一起调用也出现cannot open file "./*.v".,我不是已经`include "./*.v"某文件了吗?请指教,
你的compare_one.v经过综合了吗?我记得以前遇到过类似问题最后是先综合才能include
还有,我在写测试模块时都没用到`include
我就是我
`timescale 1ns/1ns

module compare_test();
reg [3:0] ta,tb;
wire tf;

compare_one cm(tf,ta,tb);

parameter step=100;

initial
begin
ta=0;tb=0;
#step ta=4'd5;
#step tb=4'd6;
#step ta=4'd6;
#step ta=4'd7;
#step tb=4'd8;
#step $stop;
end
endmodule
陈石亮
我试了,加上了end没有什么问题啊,都能编译过。
建议你使用开发工具中的测试文件自动生成功能,他会给你生成一个框架,你只需要改动你需要的就可以。
美梦成真-->噩梦降临!
返回列表