在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3146|回复: 10

[求助] 为什么总是出错?

[复制链接]
发表于 2010-3-24 19:17:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
ERROR:NgdBuild:604 - logical block 'cam_exam_5' with type 'cam_exam_1' could not
请各位大侠帮忙分析一下,我用ISE10.1的ip核生成器生成了一个CAM的IP核(名字是cam_exam_1),然后在另一个模块中将它实例化,取名为cam_exam_5,实现的时候就出现了以上错误,请明人指点,附代码如下:
module cam_test_top(
   clk,
din,
we,
wr_addr,
busy,
match,
match_addr );
input clk;
input [7 : 0] din;
input we;
input [3 : 0] wr_addr;
output busy;
output match;
output [15 : 0] match_addr;
cam_exam_1  cam_exam_5(
        .clk(clk),
        .din(din),
        .we(we),
        .wr_addr(wr_addr),
        .busy(busy),
        .match(match),
        .match_addr(match_addr)
);
endmodule
 楼主| 发表于 2010-3-24 19:21:54 | 显示全部楼层
备注:ip核可以单独在modelsim下仿真;
发表于 2010-3-25 13:02:28 | 显示全部楼层
似乎你没有把这个模块放到工程下吧?看你应该使用的ISE,通过工程导航窗口,看看所属顶层下面的该子模块是否存在?
 楼主| 发表于 2010-3-26 14:02:34 | 显示全部楼层
他们在同一个工程下!
发表于 2010-3-26 14:11:14 | 显示全部楼层
ngc呢?
 楼主| 发表于 2010-3-28 18:29:35 | 显示全部楼层
以前自己写模块的时候如果在上层模块调用子模块没有这个问题,也没有考虑ngc的问题
module cam_exam_1(
        clk,
        din,
        we,
        wr_addr,
        busy,
        match,
        match_addr);


input clk;
input [7 : 0] din;
input we;
input [3 : 0] wr_addr;
output busy;
output match;
output [15 : 0] match_addr;
                        
// synopsys translate_off

      /**/CAM_V5_1 #(
        2,  // c_addr_type
        8,  // c_cmp_data_mask_width
        8,  // c_cmp_din_width
        8,  // c_data_mask_width
        16, // c_depth
        8,  // c_din_width
        0,  // c_enable_rlocs
        0,  // c_has_cmp_data_mask
        0,  // c_has_cmp_din
        0,  // c_has_data_mask
        0,  // c_has_en
        0,  // c_has_multiple_match
        0,  // c_has_read_warning
        0,  // c_has_single_match
        1,  // c_has_we
        1,  // c_has_wr_addr
        16, // c_match_addr_width
        0,  // c_match_resolution_type
        1,  // c_mem_init
        "cam_exam_1.mif",        // c_mem_init_file
        1,  // c_mem_type
        1,  // c_read_cycles
        0,  // c_reg_outputs
        0,  // c_ternary_mode
        8,  // c_width
        4)  // c_wr_addr_width
    inst (
        .CLK(clk),
        .DIN(din),
        .WE(we),
        .WR_ADDR(wr_addr),
        .BUSY(busy),
        .MATCH(match),
        .MATCH_ADDR(match_addr),
        .CMP_DATA_MASK(),
        .CMP_DIN(),
        .DATA_MASK(),
        .EN(),
        .MULTIPLE_MATCH(),
        .READ_WARNING(),
        .SINGLE_MATCH());


// synopsys translate_on

endmodule
上面就是用ISE生成的ip核,调用的时候出现了上述问提,我用的是ISE10.1,请各位帮忙看一下为什么不能调用
发表于 2010-3-29 13:33:54 | 显示全部楼层
用Magecore产生的IP可能会存在这样的问题,不能只使用它的.v文件。我之前让你确认的:不是看它们是不是在一个工程下,而是看它们在这个工程下是不是属于主从关系,这个关系在导航窗口应该是能够看出来的,换句话就是说你使用的RAM是不是在调用它的程序下一层,而不是两者是平行的。如果确认了是前者的话,可能就如前面那位朋友说的,也许要考虑NGC或者它的IP原型文件(忘记什么后缀名了),而不是仅仅使用v文件。
发表于 2010-3-29 14:34:01 | 显示全部楼层
是的。10.1或者11里有些IP是不生成NGC,但是有依赖的文件。
 楼主| 发表于 2010-3-29 16:45:42 | 显示全部楼层
先前我是先生成了ip核然后再写顶层模块(调用此ip核),
这次我先写了顶层模块cam_test_top ,
然后再其下一层添加了一个ip核形式的文件,
这次貌似可以,
实现的时候能够通过
发表于 2010-3-30 13:30:51 | 显示全部楼层
嗯,我以前也是按照你后面的操作进行的,如果先生成IP再去添加,就容易出现这种问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-8 23:43 , Processed in 0.036904 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表