aboutsummaryrefslogtreecommitdiffstats
path: root/common/nextpnr.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-06-21 15:47:41 +0200
committerClifford Wolf <clifford@clifford.at>2018-06-21 15:47:41 +0200
commita29bfc788eba9f11f1e0cd3d62a32c3894cddf49 (patch)
tree01c8675cb47f509d816cca23962b88a51d4a8c85 /common/nextpnr.h
parent477c33efba4362282cf88f02cf4d17f13d3ad8fd (diff)
downloadnextpnr-a29bfc788eba9f11f1e0cd3d62a32c3894cddf49.tar.gz
nextpnr-a29bfc788eba9f11f1e0cd3d62a32c3894cddf49.tar.bz2
nextpnr-a29bfc788eba9f11f1e0cd3d62a32c3894cddf49.zip
Add ctx->checksum(), slightly improve log messages
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'common/nextpnr.h')
-rw-r--r--common/nextpnr.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/common/nextpnr.h b/common/nextpnr.h
index db6901fe..e52f72c2 100644
--- a/common/nextpnr.h
+++ b/common/nextpnr.h
@@ -302,10 +302,14 @@ struct Context : Arch
{
// xorshift64star
// https://arxiv.org/abs/1402.6246
+
+ uint64_t retval = rngstate * 0x2545F4914F6CDD1D;
+
rngstate ^= rngstate >> 12;
rngstate ^= rngstate << 25;
rngstate ^= rngstate >> 27;
- return rngstate * 0x2545F4914F6CDD1D;
+
+ return retval;
}
int rng() { return rng64() & 0x3fffffff; }
@@ -351,6 +355,8 @@ struct Context : Arch
std::sort(a.begin(), a.end());
shuffle(a);
}
+
+ uint32_t checksum() const;
};
NEXTPNR_NAMESPACE_END