Add VL_CACHE_LINE_BYTES and use 64 as defult.

This commit is contained in:
Wilson Snyder 2020-02-01 20:28:03 -05:00
parent ee7da1e690
commit a8ad97eef2
4 changed files with 4 additions and 2 deletions

View File

@ -340,6 +340,7 @@ typedef unsigned long long vluint64_t; ///< 64-bit unsigned type
#define VL_QUADSIZE 64 ///< Bits in a QData / quadword
#define VL_EDATASIZE 32 ///< Bits in a EData (WData entry)
#define VL_EDATASIZE_LOG2 5 ///< log2(VL_EDATASIZE)
#define VL_CACHE_LINE_BYTES 64 ///< Bytes in a cache line (for alignment)
/// Bytes this number of bits needs (1 bit=1 byte)
#define VL_BYTES_I(nbits) (((nbits) + (VL_BYTESIZE - 1)) / VL_BYTESIZE)

View File

@ -2778,7 +2778,7 @@ void EmitCImp::emitInt(AstNodeModule* modp) {
}
puts("}");
if (!VN_IS(modp, Class)) puts(" VL_ATTR_ALIGNED(128)");
if (!VN_IS(modp, Class)) puts(" VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES)");
puts(";\n");
emitIntFuncDecls(modp, false);

View File

@ -475,7 +475,7 @@ void EmitCSyms::emitSymHdr() {
puts("void "+protect("__Vdeserialize")+"(VerilatedDeserialize& os);\n");
}
puts("\n");
puts("} VL_ATTR_ALIGNED(64);\n");
puts("} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES);\n");
ofp()->putsEndGuard();
}

View File

@ -466,6 +466,7 @@ static void process() {
&& !v3Global.opt.xmlOnly()
&& !v3Global.opt.dpiHdrOnly()) {
// Create AstCUse to determine what class forward declarations/#includes needed in C
// Must be before V3EmitC
V3CUse::cUseAll(v3Global.rootp());
// emitcInlines is first, as it may set needHInlines which other emitters read