The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Verilog::Pli::Net - Verilog PLI tied net access hash


  use Verilog::Pli::Net;

  $NET{"hier.signal"} = 1;
  print "Signal now is ", $NET{"hier.signal"};
  foreach (keys %NET) { print "Found signal $_\n"; }
  (exists $NET{"bad"}) or die "Net 'bad' doesn't exist.";

  tie %PLINET, 'Verilog::Pli::Net', 'top.hier.submod.pli;
  print "top.hier.submod.pli.something = ", $PLINET{"something"}, "\n";


This package creates a tied hash %NET, that fetching from or storing to affects the Verilog signal named the same as the hash key. The hiearchy may be placed in front of the signal names using standard dot notation, or if not found, the scope from when the tie was established, or later scope() calls is prepended to the passed signal name.

Signal names may have a leading %b: %d: %x: or %s: to return or set the value in the binary, decimal, hex, or string format respectively. Values may have a leading 0b or 0x to set the value in binary or hex format respectively.


Read or change the default scope used when a signal is not found with the name passed. Note you need to pass the class, use the tied function to convert from the tied hash to the class name.


The latest version is available from CPAN or

Copyright 1998-2005 by Wilson Snyder. This package is free software; you can redistribute it and/or modify it under the terms of either the GNU Lesser General Public License or the Perl Artistic License.


Wilson Snyder <>