vcd timescale prefix orfs issue1806
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
8bf51ab7ee
commit
36645618b7
|
|
@ -231,8 +231,7 @@ ReadVcdActivities::findVarActivity(const VcdValues &var_values,
|
|||
if (prev_value == '1')
|
||||
high_time += time_max - prev_time;
|
||||
duty = static_cast<double>(high_time) / time_max;
|
||||
activity = transition_count
|
||||
/ (time_max * vcd_.timeUnitScale() / clk_period_);
|
||||
activity = transition_count / (time_max * vcd_.timeScale() / clk_period_);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -240,7 +239,7 @@ ReadVcdActivities::checkClkPeriod(const Pin *pin,
|
|||
double transition_count)
|
||||
{
|
||||
VcdTime time_max = vcd_.timeMax();
|
||||
double sim_period = time_max * vcd_.timeUnitScale() / (transition_count / 2.0);
|
||||
double sim_period = time_max * vcd_.timeScale() / (transition_count / 2.0);
|
||||
|
||||
ClockSet *clks = sdc_->findLeafPinClocks(pin);
|
||||
if (clks) {
|
||||
|
|
|
|||
|
|
@ -135,12 +135,14 @@ VcdReader::parseTimescale()
|
|||
vector<string> tokens = readStmtTokens();
|
||||
if (tokens.size() == 1) {
|
||||
size_t last;
|
||||
vcd_->setTimeScale(std::stod(tokens[0], &last));
|
||||
double time_scale = std::stod(tokens[0], &last);
|
||||
setTimeUnit(tokens[0].substr(last));
|
||||
vcd_->setTimeScale(time_scale * vcd_->timeUnitScale());
|
||||
}
|
||||
else if (tokens.size() == 2) {
|
||||
vcd_->setTimeScale(std::stod(tokens[0]));
|
||||
setTimeUnit(tokens[1]);
|
||||
double time_scale = std::stod(tokens[0]);
|
||||
vcd_->setTimeScale(time_scale * vcd_->timeUnitScale());
|
||||
}
|
||||
else
|
||||
report_->fileError(801, filename_, stmt_line_, "timescale syntax error.");
|
||||
|
|
|
|||
Loading…
Reference in New Issue