在这种情况下,网络不是合法的左值[9.3.1(IEEE)]

时间:2016-04-15 14:35:38

标签: verilog

有谁知道如何解决此问题:我总是收到此错误消息:

  

在此背景下,网络不是合法左值[9.3.1(IEEE)]。这是   我的代码

`timescale 1ns / 1ps 
 module dsm_egnfet_l150_w2_n16_dgc_t3 ( b, d, s, g );

inout  b, d, s;
input  g;

always 
begin
    if (g === 1) 
    s = d ;
end
   endmodule

3 个答案:

答案 0 :(得分:1)

考虑使用以下内容而不是程序分配:

assign s = (g===1)?d:1'dz;

答案 1 :(得分:0)

always @*
begin
  if (g==1)begin
    s=d;
  end
end 
endmodule

试试这个

答案 2 :(得分:0)

解决方案是: “`时间刻度1ns / 1ps

 module dsm_egnfet_l150_w2_n16_dgc_t3 ( b, d, s, g );

 inout  b, d, s;
 input  g;
 reg s1;

  assign s=s1;
  always @ *
  begin

  if (g === 1) 
   s1 = d ;
   end

   endmodule