Systemverilog 接口中的外部上拉
External Pullup in Systemverilog Interface
我想在我的界面中模拟一个外部上拉。
interface inter();
wire a;
wire a_out;
assign (pull1, strong0) a = (a_out === 1'b0) ? 1'b0 : 1'b1;
// assign (pull1, strong0) a = a_out;
// pullup p1 (a_out);
endinterface
所以当a_out
为0时,则a
应为0,但当a_out
为Z时,则a
应上拉至1。
目前我正在使用 ===
进行比较,因为基元在界面中不起作用。
有没有更好的方法,因为我认为应该避免使用 ===
?
此外,我的主要应用是通过虚拟接口在 class 任务中使用此网络。
如果您只是将 a_out
的声明更改为
,则无需执行任何操作
tri1 a_out;
我想在我的界面中模拟一个外部上拉。
interface inter();
wire a;
wire a_out;
assign (pull1, strong0) a = (a_out === 1'b0) ? 1'b0 : 1'b1;
// assign (pull1, strong0) a = a_out;
// pullup p1 (a_out);
endinterface
所以当a_out
为0时,则a
应为0,但当a_out
为Z时,则a
应上拉至1。
目前我正在使用 ===
进行比较,因为基元在界面中不起作用。
有没有更好的方法,因为我认为应该避免使用 ===
?
此外,我的主要应用是通过虚拟接口在 class 任务中使用此网络。
如果您只是将 a_out
的声明更改为
tri1 a_out;