Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2025-09-16 14:25:24 -07:00
parent 7a41a7f839
commit 7c6a473bbc
3 changed files with 8 additions and 9 deletions

View File

@ -263,7 +263,7 @@ ClkInfo::equal(const ClkInfo *clk_info1,
&& clk_info1->isPropagated() == clk_info2->isPropagated() && clk_info1->isPropagated() == clk_info2->isPropagated()
&& clk_info1->isGenClkSrcPath() == clk_info2->isGenClkSrcPath() && clk_info1->isGenClkSrcPath() == clk_info2->isGenClkSrcPath()
&& clk_info1->isPulseClk() == clk_info2->isPulseClk() && clk_info1->isPulseClk() == clk_info2->isPulseClk()
&& clk_info1->pulseClkSenseTrIndex() == clk_info2->pulseClkSenseTrIndex(); && clk_info1->pulseClkSenseRfIndex() == clk_info2->pulseClkSenseRfIndex();
} }
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
@ -375,8 +375,8 @@ ClkInfo::cmp(const ClkInfo *clk_info1,
if (is_pulse_clk1 && !is_pulse_clk2) if (is_pulse_clk1 && !is_pulse_clk2)
return 1; return 1;
int pulse_clk_sense_index1 = clk_info1->pulseClkSenseTrIndex(); int pulse_clk_sense_index1 = clk_info1->pulseClkSenseRfIndex();
int pulse_clk_sense_index2 = clk_info2->pulseClkSenseTrIndex(); int pulse_clk_sense_index2 = clk_info2->pulseClkSenseRfIndex();
if (pulse_clk_sense_index1 < pulse_clk_sense_index2) if (pulse_clk_sense_index1 < pulse_clk_sense_index2)
return -1; return -1;
if (pulse_clk_sense_index1 > pulse_clk_sense_index2) if (pulse_clk_sense_index1 > pulse_clk_sense_index2)

View File

@ -57,7 +57,7 @@ public:
const Pin *genClkSrc() const { return gen_clk_src_; } const Pin *genClkSrc() const { return gen_clk_src_; }
bool isPulseClk() const { return is_pulse_clk_; } bool isPulseClk() const { return is_pulse_clk_; }
const RiseFall *pulseClkSense() const; const RiseFall *pulseClkSense() const;
int pulseClkSenseTrIndex() const { return pulse_clk_sense_; } int pulseClkSenseRfIndex() const { return pulse_clk_sense_; }
float latency() const { return latency_; } float latency() const { return latency_; }
Arrival &insertion() { return insertion_; } Arrival &insertion() { return insertion_; }
const Arrival &insertion() const { return insertion_; } const Arrival &insertion() const { return insertion_; }

View File

@ -1215,11 +1215,10 @@ ArrivalVisitor::visit(Vertex *vertex)
// If vertex is a latch data input arrival that changed from the // If vertex is a latch data input arrival that changed from the
// previous eval pass enqueue the latch outputs to be re-evaled on the // previous eval pass enqueue the latch outputs to be re-evaled on the
// next pass. // next pass.
if (network_->isLatchData(pin)) { if (arrivals_changed
if (arrivals_changed && network_->isLatchData(pin))
&& network_->isLatchData(pin)) search_->enqueueLatchDataOutputs(vertex);
search_->enqueueLatchDataOutputs(vertex);
}
if (!search_->arrivalsAtEndpointsExist() if (!search_->arrivalsAtEndpointsExist()
|| always_to_endpoints_ || always_to_endpoints_
|| arrivals_changed) || arrivals_changed)