一个简单反相器的verilog代码出错,谢谢了
时间:10-02
整理:3721RD
点击:
下面是一个简单的反相器代码,
`timescale 1ns/1ps
`celldefine
module BT_INVX1_3V (A, G33, V33, Y);
output Y;
input A, V33, G33;
wire YA;
not I0(YA, A);
specify
// delay parameters
specparam
tplh$A$YA = 0.05,
tphl$A$YA = 0.05;
// path delays
(A *> YA) = (tplh$A$YA, tphl$A$YA);
endspecify
assign Y = (V33 ==1'b1 && G33 == 1'b0) ? YA : 0;
endmodule // BT_INVX1_3V
`endcelldefine
错误提示为:
'YA': not a module output or input
本人刚接触verilog,还不太熟悉,代码是别人写的,但应该没错啊,
不太明白这个报错是怎么回事儿。
请教一下各位。
`timescale 1ns/1ps
`celldefine
module BT_INVX1_3V (A, G33, V33, Y);
output Y;
input A, V33, G33;
wire YA;
not I0(YA, A);
specify
// delay parameters
specparam
tplh$A$YA = 0.05,
tphl$A$YA = 0.05;
// path delays
(A *> YA) = (tplh$A$YA, tphl$A$YA);
endspecify
assign Y = (V33 ==1'b1 && G33 == 1'b0) ? YA : 0;
endmodule // BT_INVX1_3V
`endcelldefine
错误提示为:
'YA': not a module output or input
本人刚接触verilog,还不太熟悉,代码是别人写的,但应该没错啊,
不太明白这个报错是怎么回事儿。
请教一下各位。
自己顶一下
(A *> YA) = (tplh$A$YA, tphl$A$YA);
这一句好像有问题,延时的两个端口只能是输入或者输出,不能是wire,把YA改成Y试试
谢谢!
确实是这个错误,改了之后就没有错误了。
非常感谢你的帮助