data/full_repos/permissive/143278/ivltests/pullupdown3.v
 line:71: before: ";"
1: b'%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/pullupdown3.v:51: Unsupported: Ignoring delay on this delayed statement.\n      #1;\n      ^\n                  ... Use "/* verilator lint_off STMTDLY */" and lint_on around source to disable this message.\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/pullupdown3.v:69: Unsupported: Ignoring delay on this delayed statement.\n   #1;\n   ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/pullupdown3.v:72: Unsupported: Ignoring delay on this delayed statement.\n   #10;\n   ^\n%Warning-WIDTH: data/full_repos/permissive/143278/ivltests/pullupdown3.v:67: Operator ASSIGN expects 8 bits on the Assign RHS, but Assign RHS\'s VARREF \'i\' generates 32 bits.\n                                                                           : ... In instance pullupdown\n   driver_8 = i;\n            ^\n%Error: Exiting due to 4 warning(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
module pullupdown;


  wire pull_up_1, pull_down_1;
  wire [7:0] pull_up_8, pull_down_8;
  reg	     error;


   pullup (pull_up_1);
   pulldown (pull_down_1);
   pullup u8 [7:0] (pull_up_8);
   pulldown d8 [7:0] (pull_down_8);


  reg	     driver_1;
  reg [7:0]  driver_8;

  assign     pull_up_1 = driver_1;
  assign     pull_down_1 = driver_1;

  assign     pull_up_8 = driver_8;
  assign     pull_down_8 = driver_8;

  initial
    begin : test_block
      integer i;


      driver_1 = 1'bz;
      driver_8 = 8'bz;
      error = 0;
      #1;


      if ((pull_up_1 !== 1'b1) || (pull_down_1 !== 1'b0) ||
	  (pull_up_8 !== 8'hFF) || (pull_down_8 !== 8'h00)) begin
	 $display("driver_8=%b, pull_up_8=%b, pull_down_8=%b",
		  driver_8, pull_up_8, pull_down_8);
	 $display("driver_1=%b, pull_up_1=%b, pull_down_1=%b",
		  driver_1, pull_up_1, pull_down_1);
	 error = 1;
      end


      for (i=0; i<256; i=i+1)
	begin
	  driver_1 = ~driver_1;
	  driver_8 = i;
	  $display ("Testing drivers with value %h", driver_8);
	  #1;

	  check_drivers;
	  #10;
	end

      if (error)
	$display ("FAILED - pullupdown ");
      else $display ("PASSED");
    end

  task check_drivers;
    begin
      if ((pull_up_1 !== driver_1) || (pull_down_1 !== driver_1) ||
	  (pull_up_8 !== driver_8) || (pull_down_8 !== driver_8)) begin
	 $display("driver_8=%b, pull_up_8=%b, pull_down_8=%b",
		  driver_8, pull_up_8, pull_down_8);
	 $display("driver_1=%b, pull_up_1=%b, pull_down_1=%b",
		  driver_1, pull_up_1, pull_down_1);

	 error = 1;
      end

    end
  endtask

endmodule
module pullupdown;



  wire pull_up_1, pull_down_1;
  wire [7:0] pull_up_8, pull_down_8;
  reg	     error;


   pullup (pull_up_1);
   pulldown (pull_down_1);
   pullup u8 [7:0] (pull_up_8);
   pulldown d8 [7:0] (pull_down_8);


  reg	     driver_1;
  reg [7:0]  driver_8;

  assign     pull_up_1 = driver_1;
  assign     pull_down_1 = driver_1;

  assign     pull_up_8 = driver_8;
  assign     pull_down_8 = driver_8;

  initial
    begin : test_block
      integer i;


      driver_1 = 1'bz;
      driver_8 = 8'bz;
      error = 0;
      #1;


      if ((pull_up_1 !== 1'b1) || (pull_down_1 !== 1'b0) ||
	  (pull_up_8 !== 8'hFF) || (pull_down_8 !== 8'h00)) begin
	 $display("driver_8=%b, pull_up_8=%b, pull_down_8=%b",
		  driver_8, pull_up_8, pull_down_8);
	 $display("driver_1=%b, pull_up_1=%b, pull_down_1=%b",
		  driver_1, pull_up_1, pull_down_1);
	 error = 1;
      end


      for (i=0; i<256; i=i+1)
	begin
	  driver_1 = ~driver_1;
	  driver_8 = i;
	  $display ("Testing drivers with value %h", driver_8);
	  #1;

	  check_drivers;
	  #10;
	end

      if (error)
	$display ("FAILED - pullupdown ");
      else $display ("PASSED");
    end

  task check_drivers;
    begin
      if ((pull_up_1 !== driver_1) || (pull_down_1 !== driver_1) ||
	  (pull_up_8 !== driver_8) || (pull_down_8 !== driver_8)) begin
	 $display("driver_8=%b, pull_up_8=%b, pull_down_8=%b",
		  driver_8, pull_up_8, pull_down_8);
	 $display("driver_1=%b, pull_up_1=%b, pull_down_1=%b",
		  driver_1, pull_up_1, pull_down_1);

	 error = 1;
      end

    end
  endtask

endmodule