iverilog/ivtest/vpi/value_change_cb.v

46 lines
721 B
Verilog

`timescale 1s/1ms
module test;
logic [3:0] v4;
wire [3:0] w4;
integer i4;
bit [3:0] v2;
byte b2;
shortint s2;
int i2;
longint l2;
real r;
event e;
logic [3:0] p4;
logic [3:0] a4[3:0];
bit [3:0] a2[3:0];
assign w4 = v4;
initial begin
$my_monitor(v4, w4, i4, v2, b2, s2, i2, l2, r, e, p4[1:0], a4, a2[1]);
#1 v4 = 4'd1;
#1 i4 = 2;
#1 v2 = 4'd3;
#1 b2 = 4;
#1 s2 = 5;
#1 i2 = 6;
#1 l2 = 7;
#1 r = 8.0;
#1 ->e;
// NOTE: the value change callback on a part select returns the value of the entire variable.
#1 p4 = 4'd10;
#1 a4[0] = 4'd11;
#1 a4[1] = 4'd12;
#1 a2[0] = 4'd13;
#1 a2[1] = 4'd14;
end
endmodule