mirror of
https://github.com/verilator/verilator.git
synced 2026-10-07 18:42:58 +02:00
@@ -18,6 +18,7 @@
|
||||
|
||||
#include "V3ProtectLib.h"
|
||||
|
||||
#include "V3Config.h"
|
||||
#include "V3Hasher.h"
|
||||
#include "V3InstrCount.h"
|
||||
#include "V3String.h"
|
||||
@@ -119,8 +120,17 @@ class ProtectVisitor final : public VNVisitor {
|
||||
|
||||
// Mark remaining NDA protectlib wrapper DPIs as non-hazardous by deliberately forwarding
|
||||
// them with non-zero cost.
|
||||
// Also, specify hierarchical workers for those tasks for scheduling.
|
||||
txtp->addText(fl, "profile_data -hier-dpi \"" + m_libName
|
||||
+ "_protectlib_combo_ignore\" -cost 64'd1\n");
|
||||
|
||||
txtp->addText(fl, "hier_workers -hier-dpi \"" + m_libName
|
||||
+ "_protectlib_combo_update\" -workers 16'd"
|
||||
+ std::to_string(V3Config::getHierWorkers(m_libName)) + "\n");
|
||||
txtp->addText(fl, "hier_workers -hier-dpi \"" + m_libName
|
||||
+ "_protectlib_seq_update\" -workers 16'd"
|
||||
+ std::to_string(V3Config::getHierWorkers(m_libName)) + "\n");
|
||||
// No workers for combo_ignore
|
||||
txtp->addText(fl, "`verilog\n");
|
||||
txtp->addText(fl, "`endif\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user