parent
a05cbd8382
commit
c1e343d9cf
|
|
@ -318,42 +318,72 @@ void VlProcess::randstate(const std::string& state) VL_MT_UNSAFE {
|
|||
//===========================================================================
|
||||
// Random -- Mostly called at init time, so not inline.
|
||||
|
||||
VlRNG::VlRNG() VL_MT_SAFE {
|
||||
// Starting point for this new class comes from the global RNG
|
||||
VlRNG& fromr = vl_thread_rng();
|
||||
m_state = fromr.m_state;
|
||||
// Advance the *source* so it can later generate a new number
|
||||
// Xoroshiro128+ algorithm
|
||||
fromr.m_state[1] ^= fromr.m_state[0];
|
||||
fromr.m_state[0] = (((fromr.m_state[0] << 55) | (fromr.m_state[0] >> 9)) ^ fromr.m_state[1]
|
||||
^ (fromr.m_state[1] << 14));
|
||||
fromr.m_state[1] = (fromr.m_state[1] << 36) | (fromr.m_state[1] >> 28);
|
||||
static std::pair<uint64_t, uint64_t> vl_splitmix64(uint64_t x) VL_PURE {
|
||||
// SplitMix64 algorithm, copied under public domain from
|
||||
// https://prng.di.unimi.it/splitmix64.c
|
||||
// by Sebastiano Vigna
|
||||
uint64_t z = (x += 0x9e3779b97f4a7c15ULL);
|
||||
z = (z ^ (z >> 30)) * 0xbf58476d1ce4e5b9ULL;
|
||||
z = (z ^ (z >> 27)) * 0x94d049bb133111ebULL;
|
||||
return {x, z ^ (z >> 31)};
|
||||
}
|
||||
|
||||
// Xoroshiro128** algorithm, copied under public domain from
|
||||
// https://xoshiro.di.unimi.it/xoroshiro128starstar.c
|
||||
// by David Blackman and Sebastiano Vigna
|
||||
|
||||
static uint64_t vl_rolt(const uint64_t x, int k) VL_PURE { return (x << k) | (x >> (64 - k)); }
|
||||
|
||||
static std::array<uint64_t, 2> vl_rng_state_from_seed(uint64_t seed) VL_PURE {
|
||||
const auto split1 = vl_splitmix64(seed);
|
||||
const auto split2 = vl_splitmix64(split1.first);
|
||||
return {split1.second, split2.second};
|
||||
}
|
||||
|
||||
static uint64_t vl_rng_result(const std::array<uint64_t, 2>& state) VL_PURE {
|
||||
const uint64_t s0 = state[0];
|
||||
return vl_rolt(s0 * 5, 7) * 9;
|
||||
}
|
||||
|
||||
static std::array<uint64_t, 2>
|
||||
vl_rng_compute_new_state(const std::array<uint64_t, 2>& current_state) VL_PURE {
|
||||
const uint64_t s0 = current_state[0];
|
||||
uint64_t s1 = current_state[1];
|
||||
|
||||
s1 ^= s0;
|
||||
const uint64_t new_s0 = vl_rolt(s0, 24) ^ s1 ^ (s1 << 16); // a, b
|
||||
const uint64_t new_s1 = vl_rolt(s1, 37); // c
|
||||
|
||||
return {new_s0, new_s1};
|
||||
}
|
||||
|
||||
VlRNG::VlRNG() VL_MT_SAFE {
|
||||
VlRNG& fromr = vl_thread_rng();
|
||||
|
||||
const uint64_t s0 = vl_rng_result(fromr.m_state);
|
||||
fromr.m_state = vl_rng_compute_new_state(fromr.m_state);
|
||||
|
||||
const uint64_t s1 = vl_rng_result(fromr.m_state);
|
||||
fromr.m_state = vl_rng_compute_new_state(fromr.m_state);
|
||||
|
||||
m_state = {s0, s1};
|
||||
}
|
||||
|
||||
VlRNG::VlRNG(uint64_t seed) VL_PURE { m_state = vl_rng_state_from_seed(seed); }
|
||||
void VlRNG::srandom(uint64_t n) VL_MT_UNSAFE { m_state = vl_rng_state_from_seed(n); }
|
||||
|
||||
uint64_t VlRNG::rand64() VL_MT_UNSAFE {
|
||||
// Xoroshiro128+ algorithm
|
||||
const uint64_t result = m_state[0] + m_state[1];
|
||||
m_state[1] ^= m_state[0];
|
||||
m_state[0] = (((m_state[0] << 55) | (m_state[0] >> 9)) ^ m_state[1] ^ (m_state[1] << 14));
|
||||
m_state[1] = (m_state[1] << 36) | (m_state[1] >> 28);
|
||||
const uint64_t result = vl_rng_result(m_state);
|
||||
m_state = vl_rng_compute_new_state(m_state);
|
||||
return result;
|
||||
}
|
||||
uint64_t VlRNG::vl_thread_rng_rand64() VL_MT_SAFE {
|
||||
VlRNG& fromr = vl_thread_rng();
|
||||
const uint64_t result = fromr.m_state[0] + fromr.m_state[1];
|
||||
fromr.m_state[1] ^= fromr.m_state[0];
|
||||
fromr.m_state[0] = (((fromr.m_state[0] << 55) | (fromr.m_state[0] >> 9)) ^ fromr.m_state[1]
|
||||
^ (fromr.m_state[1] << 14));
|
||||
fromr.m_state[1] = (fromr.m_state[1] << 36) | (fromr.m_state[1] >> 28);
|
||||
const uint64_t result = vl_rng_result(fromr.m_state);
|
||||
fromr.m_state = vl_rng_compute_new_state(fromr.m_state);
|
||||
return result;
|
||||
}
|
||||
void VlRNG::srandom(uint64_t n) VL_MT_UNSAFE {
|
||||
m_state[0] = n;
|
||||
m_state[1] = m_state[0];
|
||||
// Fix state as algorithm is slow to randomize if many zeros
|
||||
// This causes a loss of ~ 1 bit of seed entropy, no big deal
|
||||
if (VL_COUNTONES_I(m_state[0]) < 10) m_state[0] = ~m_state[0];
|
||||
if (VL_COUNTONES_I(m_state[1]) < 10) m_state[1] = ~m_state[1];
|
||||
}
|
||||
|
||||
std::string VlRNG::get_randstate() const VL_MT_UNSAFE {
|
||||
// Though not stated in IEEE, assumption is the string must be printable
|
||||
const char* const stateCharsp = reinterpret_cast<const char*>(&m_state);
|
||||
|
|
@ -398,13 +428,8 @@ VlRNG& VlRNG::vl_thread_rng() VL_MT_SAFE {
|
|||
if (VL_UNLIKELY(t_seedEpoch != VerilatedContextImp::randSeedEpoch())) {
|
||||
// Set epoch before state, to avoid race case with new seeding
|
||||
t_seedEpoch = VerilatedContextImp::randSeedEpoch();
|
||||
// Same as srandom() but here as needs to be VL_MT_SAFE
|
||||
t_rng.m_state[0] = Verilated::threadContextp()->impp()->randSeedDefault64();
|
||||
t_rng.m_state[1] = t_rng.m_state[0];
|
||||
// Fix state as algorithm is slow to randomize if many zeros
|
||||
// This causes a loss of ~ 1 bit of seed entropy, no big deal
|
||||
if (VL_COUNTONES_I(t_rng.m_state[0]) < 10) t_rng.m_state[0] = ~t_rng.m_state[0];
|
||||
if (VL_COUNTONES_I(t_rng.m_state[1]) < 10) t_rng.m_state[1] = ~t_rng.m_state[1];
|
||||
t_rng.m_state
|
||||
= vl_rng_state_from_seed(Verilated::threadContextp()->impp()->randSeedDefault64());
|
||||
}
|
||||
return t_rng;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ public:
|
|||
// having to check for construction at each call
|
||||
// Alternative: seed with zero and check on rand64() call
|
||||
VlRNG() VL_MT_SAFE;
|
||||
explicit VlRNG(uint64_t seed0) VL_MT_SAFE : m_state{0x12341234UL, seed0} {}
|
||||
explicit VlRNG(uint64_t seed) VL_PURE;
|
||||
void srandom(uint64_t n) VL_MT_UNSAFE;
|
||||
std::string get_randstate() const VL_MT_UNSAFE;
|
||||
void set_randstate(const std::string& state) VL_MT_UNSAFE;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
=== Test 2: addr out of range ===
|
||||
%Warning-UNSATCONSTR: t/t_constraint_unsat.v:16: Unsatisfied constraint: 'if (!randomize() with { addr == a; data == d; }) begin'
|
||||
%Warning-UNSATCONSTR: t/t_constraint_unsat.v:12: Unsatisfied constraint: 'constraint data_range { data > 10 && data < 200; }'
|
||||
%Warning-UNSATCONSTR: t/t_constraint_unsat.v:12: Unsatisfied constraint: 'constraint data_range { data > 10 && data < 200; }'
|
||||
%Warning-UNSATCONSTR: t/t_constraint_unsat.v:11: Unsatisfied constraint: 'constraint addr_range { addr < 127; }'
|
||||
%Warning-UNSATCONSTR: t/t_constraint_unsat.v:16: Unsatisfied constraint: 'if (!randomize() with { addr == a; data == d; }) begin'
|
||||
Randomization failed.
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
=== Test 2: addr out of range ===
|
||||
%Warning-UNSATCONSTR: PSTByA:16: Unsatisfied constraint
|
||||
%Warning-UNSATCONSTR: PSTByA:12: Unsatisfied constraint
|
||||
%Warning-UNSATCONSTR: PSTByA:12: Unsatisfied constraint
|
||||
%Warning-UNSATCONSTR: PSTByA:11: Unsatisfied constraint
|
||||
%Warning-UNSATCONSTR: PSTByA:16: Unsatisfied constraint
|
||||
Randomization failed.
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ test.scenarios('vlt_all')
|
|||
|
||||
test.compile()
|
||||
|
||||
test.execute(all_run_flags=["+verilator+seed+5 +SEED=fffffff4"])
|
||||
test.execute(all_run_flags=["+verilator+seed+5 +SEED=h2e564fe1"])
|
||||
|
||||
test.execute(all_run_flags=["+verilator+seed+6 +SEED=fffffff2"])
|
||||
test.execute(all_run_flags=["+verilator+seed+6 +SEED=h3dca891b"])
|
||||
|
||||
test.passes()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env python3
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2025 by Wilson Snyder. This program is free software; you
|
||||
# can redistribute it and/or modify it under the terms of either the GNU
|
||||
# Lesser General Public License Version 3 or the Perl Artistic License
|
||||
# Version 2.0.
|
||||
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
|
||||
import vltest_bootstrap
|
||||
|
||||
test.scenarios("simulator_st")
|
||||
|
||||
test.compile(timing_loop=True, verilator_flags2=["--timing"])
|
||||
|
||||
filename = test.obj_dir + "/bits.log"
|
||||
|
||||
test.unlink_ok(filename)
|
||||
|
||||
for seed in range(1, 6):
|
||||
test.execute(all_run_flags=["+verilator+rand+reset+2", f"+verilator+seed+{seed}"])
|
||||
|
||||
unique_strings = set()
|
||||
|
||||
with open(filename, "r", encoding="utf-8") as file:
|
||||
for line in file:
|
||||
unique_strings.update(line.split())
|
||||
|
||||
count_unique_strings = len(unique_strings)
|
||||
|
||||
# A ideal random generator has a fail chance of 1 in 66 million
|
||||
expected_unique_strings = 4
|
||||
if count_unique_strings < expected_unique_strings:
|
||||
test.error(
|
||||
f"Expected at least {expected_unique_strings} unique strings, got {count_unique_strings}")
|
||||
|
||||
test.passes()
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
// DESCRIPTION: Verilator: Verilog Test module
|
||||
//
|
||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||
// any use, without warranty, 2026 by Wilson Snyder.
|
||||
// SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
`define STRINGIFY(x) `"x`"
|
||||
|
||||
module t ();
|
||||
reg a0 = 'x;
|
||||
reg a1 = 'x;
|
||||
reg a2 = 'x;
|
||||
reg a3 = 'x;
|
||||
reg a4 = 'x;
|
||||
reg a5 = 'x;
|
||||
reg a6 = 'x;
|
||||
reg a7 = 'x;
|
||||
reg a8 = 'x;
|
||||
reg a9 = 'x;
|
||||
reg a10 = 'x;
|
||||
reg a11 = 'x;
|
||||
reg a12 = 'x;
|
||||
reg a13 = 'x;
|
||||
reg a14 = 'x;
|
||||
reg a15 = 'x;
|
||||
|
||||
integer fd;
|
||||
initial begin
|
||||
fd = $fopen({`STRINGIFY(`TEST_OBJ_DIR),"/bits.log"}, "a");
|
||||
$fwrite(fd, "%b\n", {a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15});
|
||||
$write("*-* All Finished *-*\n");
|
||||
$finish;
|
||||
end
|
||||
endmodule
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xb3cf9302
|
||||
rand = 0xf0acf3e4
|
||||
rand = 0xca0ac74c
|
||||
rand = 0x4eddfc2c
|
||||
rand = 0x1919db69
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0x2d118c9b
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xc31fbc3d
|
||||
rand = 0xcbb440c9
|
||||
rand = 0x030234c6
|
||||
rand = 0xf53bab60
|
||||
rand = 0xcf071500
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0xddacca56
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xb3cf9302
|
||||
rand = 0xf0acf3e4
|
||||
rand = 0xca0ac74c
|
||||
rand = 0x4eddfc2c
|
||||
rand = 0x1919db69
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0x2d118c9b
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xc31fbc3d
|
||||
rand = 0xcbb440c9
|
||||
rand = 0x030234c6
|
||||
rand = 0xf53bab60
|
||||
rand = 0xcf071500
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0xddacca56
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xb3cf9302
|
||||
rand = 0xf0acf3e4
|
||||
rand = 0xca0ac74c
|
||||
rand = 0x4eddfc2c
|
||||
rand = 0x1919db69
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0x2d118c9b
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xc31fbc3d
|
||||
rand = 0xcbb440c9
|
||||
rand = 0x030234c6
|
||||
rand = 0xf53bab60
|
||||
rand = 0xcf071500
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0xddacca56
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xb3cf9302
|
||||
rand = 0xf0acf3e4
|
||||
rand = 0xca0ac74c
|
||||
rand = 0x4eddfc2c
|
||||
rand = 0x1919db69
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0x2d118c9b
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xc31fbc3d
|
||||
rand = 0xcbb440c9
|
||||
rand = 0x030234c6
|
||||
rand = 0xf53bab60
|
||||
rand = 0xcf071500
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0xddacca56
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@ uninitialized = 0x00000000
|
|||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0x00000000
|
||||
big = 0x0000000000000000000000000000000000000000000000000000000000000000
|
||||
random_init = 0x952aaa76
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x0
|
||||
top.t.the_sub_yes_inline_2 no_init 0x0
|
||||
top.t.the_sub_no_inline_1 no_init 0x0
|
||||
top.t.the_sub_no_inline_2 no_init 0x0
|
||||
rand = 0xb3cf9302
|
||||
rand = 0xf0acf3e4
|
||||
rand = 0xca0ac74c
|
||||
rand = 0x4eddfc2c
|
||||
rand = 0x1919db69
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0x2d118c9b
|
||||
rand = 0xc31fbc3d
|
||||
rand = 0xcbb440c9
|
||||
rand = 0x030234c6
|
||||
rand = 0xf53bab60
|
||||
rand = 0xcf071500
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0xddacca56
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xe3e54aaa
|
||||
rand = 0xe85acf2d
|
||||
rand = 0x15e12c6a
|
||||
rand = 0x0f7f28c0
|
||||
rand = 0xe189c52a
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0xf0700dbf
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xf89a1fb9
|
||||
rand = 0x0577f875
|
||||
rand = 0x7bc34037
|
||||
rand = 0x2027e5c6
|
||||
rand = 0xc57ff769
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0x37a9fa91
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xe3e54aaa
|
||||
rand = 0xe85acf2d
|
||||
rand = 0x15e12c6a
|
||||
rand = 0x0f7f28c0
|
||||
rand = 0xe189c52a
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0xf0700dbf
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xf89a1fb9
|
||||
rand = 0x0577f875
|
||||
rand = 0x7bc34037
|
||||
rand = 0x2027e5c6
|
||||
rand = 0xc57ff769
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0x37a9fa91
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xe3e54aaa
|
||||
rand = 0xe85acf2d
|
||||
rand = 0x15e12c6a
|
||||
rand = 0x0f7f28c0
|
||||
rand = 0xe189c52a
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0xf0700dbf
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xf89a1fb9
|
||||
rand = 0x0577f875
|
||||
rand = 0x7bc34037
|
||||
rand = 0x2027e5c6
|
||||
rand = 0xc57ff769
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0x37a9fa91
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
uninitialized = 0xf5bbcbc0
|
||||
uninitialized = 0xb108d062
|
||||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0xa979eb54
|
||||
big = 0xa20c93ac50d8c57d4c80949aa68e82775da6af98ce08f75dc6ccfad97b059a33
|
||||
random_init = 0x952aaa76
|
||||
top.t.the_sub_yes_inline_1 no_init 0x4a544f7798b83fc8
|
||||
top.t.the_sub_yes_inline_2 no_init 0x19b7000ee0472c9
|
||||
top.t.the_sub_no_inline_1 no_init 0x38121a34978975dd
|
||||
top.t.the_sub_no_inline_2 no_init 0x9022c84ae0fa3cf6
|
||||
rand = 0xe3e54aaa
|
||||
rand = 0xe85acf2d
|
||||
rand = 0x15e12c6a
|
||||
rand = 0x0f7f28c0
|
||||
rand = 0xe189c52a
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0xf0700dbf
|
||||
uninitialized2 = 0xca249856
|
||||
big = 0x0d97b7afc0a2ac6784d0eaa74cd8feaf468cf05328c319f1a26fc1b219605edd
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x6f6ddbaeadd8dba4
|
||||
top.t.the_sub_yes_inline_2 no_init 0xfdf89c0b44e7f5d8
|
||||
top.t.the_sub_no_inline_1 no_init 0x76dc510f643e939
|
||||
top.t.the_sub_no_inline_2 no_init 0x61a6ab3d0369cf60
|
||||
rand = 0xf89a1fb9
|
||||
rand = 0x0577f875
|
||||
rand = 0x7bc34037
|
||||
rand = 0x2027e5c6
|
||||
rand = 0xc57ff769
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0x37a9fa91
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@ uninitialized = 0x00000000
|
|||
x_assigned (initial) = 0x00000000
|
||||
uninitialized2 = 0x00000000
|
||||
big = 0x0000000000000000000000000000000000000000000000000000000000000000
|
||||
random_init = 0x952aaa76
|
||||
random_init = 0x65d066c8
|
||||
top.t.the_sub_yes_inline_1 no_init 0x0
|
||||
top.t.the_sub_yes_inline_2 no_init 0x0
|
||||
top.t.the_sub_no_inline_1 no_init 0x0
|
||||
top.t.the_sub_no_inline_2 no_init 0x0
|
||||
rand = 0xe3e54aaa
|
||||
rand = 0xe85acf2d
|
||||
rand = 0x15e12c6a
|
||||
rand = 0x0f7f28c0
|
||||
rand = 0xe189c52a
|
||||
x_assigned = 0x486aeb2d
|
||||
Last rand = 0xf0700dbf
|
||||
rand = 0xf89a1fb9
|
||||
rand = 0x0577f875
|
||||
rand = 0x7bc34037
|
||||
rand = 0x2027e5c6
|
||||
rand = 0xc57ff769
|
||||
x_assigned = 0x80742d9b
|
||||
Last rand = 0x37a9fa91
|
||||
*-* All Finished *-*
|
||||
|
|
|
|||
Loading…
Reference in New Issue