Prev Problem
Next Problem

24. Open-Source Line using tri0

module open_source_line(
  input  wire drive_high,
  output tri0 line          // tri0 = weak pull-down when undriven
);
  // Open-source style: either drive high or release (Z)
  assign line = drive_high ? 1'b1 : 1'bz;
endmodule

⚠️ Notice: tri0 is not supported by current version of synthesizer.

💡 Remember

  • tri0 behaves like a wire with a weak 0 source when undriven.
  • Use Z to release a tri-state net; the pull device sets the idle value.
  • Nets get their values from drivers, not stored state.