关于用户自定义原语的调用问题
本帖最后由 lbcumt 于 2013-6-29 22:06 编辑Verilog允许用户使用内建原语进行逻辑设计,用户也可以自己定义原语,完成特定的功能。但我在自定义原语以后,却无法调用,综合时提示找不到我自定义的原语udp_dff_edge1,"Error:Line 31: Instantiating <inst5> from unknown module <udp_dff_edge1>"。不知道为何,希望大侠能够帮忙看一下,谢谢!
自定义原语 udp_dff_edge1.v :
primitive udp_dff_edge1(q, d, clk, rst_n
);
input d,clk,rst_n;
output q;
reg q;
initial q = 0;
table
// d clk rst_n q q+
0 (01) 1 : ? :0;
1 (01) 1 : ? :1;
1 (0x) 1 : 1 :1;
0 (0x) 1 : 0 :0;
? (?0) 1 : ? :-;
? (??) 0 : ? :0;
? ? 0 : ? :0;
? ? (01) : ? :-;
(??) ? 1 : ? : -;
endtable
endprimitive
例化调用:
module shift_rotate_udp1(rst_n, clk, load, d, y
);
input rst_n,clk,load;
input d;
output y;
not inst1 (net1, load);
and inst2 (net2, load, d);
and inst3 (net3, net1, y);
or inst4 (net4, net2, net3);
udp_dff_edge1 inst5 (y, net4, clk, rst_n);
endmodule
页:
[1]