Large bus width bug with read_vcd (#348)

* a

* Revert "a"

This reverts commit 2717585799dc829618bc523a4b1525df2a298cf1.

* bus issue

* reverse string to match vcd bits

* requested changes

* clearer

* this makes more sense

* revert

* comment

* add test case
This commit is contained in:
Stan Lee 2025-12-04 17:04:23 -08:00 committed by GitHub
parent 6e16c3f189
commit 85b790ce45
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 1330772 additions and 8 deletions

View File

@ -24,6 +24,7 @@
#include "VcdParse.hh"
#include <algorithm>
#include <cctype>
#include <cinttypes>
@ -243,15 +244,16 @@ VcdParse::parseVarValues()
reader_->varAppendValue(id, time_, char1);
}
else {
string bin = token.substr(1);
char *end;
int64_t bus_value = strtol(bin.c_str(), &end, 2);
string bus_value = token.substr(1);
string id = getToken();
if (!reader_->varIdValid(id))
report_->fileError(807, filename_, stmt_line_,
"unknown variable %s", id.c_str());
else
else {
// Reverse the bus value to match the bit order in the VCD file.
std::reverse(bus_value.begin(), bus_value.end());
reader_->varAppendBusValue(id, time_, bus_value);
}
}
}
token = getToken();

View File

@ -118,7 +118,7 @@ public:
char value) = 0;
virtual void varAppendBusValue(const std::string &id,
VcdTime time,
int64_t bus_value) = 0;
const std::string &bus_value) = 0;
};
class VcdValue

View File

@ -153,7 +153,7 @@ public:
char value) override;
void varAppendBusValue(const string &id,
VcdTime time,
int64_t bus_value) override;
const string &bus_value) override;
private:
void addVarPin(const string &pin_name,
@ -329,13 +329,13 @@ VcdCountReader::varAppendValue(const string &id,
void
VcdCountReader::varAppendBusValue(const string &id,
VcdTime time,
int64_t bus_value)
const string &bus_value)
{
const auto &itr = vcd_count_map_.find(id);
if (itr != vcd_count_map_.end()) {
VcdCounts &vcd_counts = itr->second;
for (size_t bit_idx = 0; bit_idx < vcd_counts.size(); bit_idx++) {
char bit_value = ((bus_value >> bit_idx) & 0x1) ? '1' : '0';
char bit_value = bus_value[bit_idx];
VcdCount &vcd_count = vcd_counts[bit_idx];
if (debug_->check("read_vcd", 3)) {
for (const Pin *pin : vcd_count.pins()) {

187
test/read_vcd.ok Normal file
View File

@ -0,0 +1,187 @@
Warning: read_vcd.v line 32, module OAI21xp5_ASAP7_75t_SL not found. Creating black box for g3393856.
Warning: read_vcd.v line 38, module NAND4xp75_ASAP7_75t_SL not found. Creating black box for g3397213.
Warning: read_vcd.v line 45, module NOR2x1_ASAP7_75t_SL not found. Creating black box for g3397214.
Warning: read_vcd.v line 57, module NAND3xp33_ASAP7_75t_SL not found. Creating black box for g3397216.
read_vcd: g3397238/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397238/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397236/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397238/Y transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397235/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397233/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397234/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397233/B transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397235/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397232/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397232/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397236/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397237/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397231/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397232/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397231/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397231/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397230/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397231/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397230/B transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397232/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397229/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397228/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397228/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397232/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397227/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397228/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397237/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397226/B transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397230/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397231/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397226/C transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397233/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397218/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397225/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397225/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397225/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397224/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397224/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397217/B transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397219/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397224/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397213/B transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397217/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397222/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397222/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397237/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397220/B transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397222/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397221/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397234/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397222/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397221/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397221/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397235/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397218/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397220/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397221/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397227/B transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397229/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397226/A transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397227/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397213/A transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397214/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397219/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397219/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397228/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397219/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397223/B transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397225/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397218/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397216/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397217/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397218/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397238/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397237/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397234/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3393856/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397215/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397226/D transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397236/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397225/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397215/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397215/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397216/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397238/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397235/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397215/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397229/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397224/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397229/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397216/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397213/C transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397220/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397213/D transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397223/Y transitions 0.0 activity 0.00 duty 0.00
read_vcd: g3397237/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397218/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397229/A transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397219/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3393856/A2 transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397226/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397234/C transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397228/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3393856/A1 transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397213/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397234/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397214/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397215/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397214/B transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397216/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397223/A transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397224/Y transitions 0.0 activity 0.00 duty 1.00
read_vcd: g3397235/D transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_Y transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3393856/Y transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[0] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[1] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[2] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[3] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[4] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[5] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[6] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[7] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[8] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[9] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[10] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[11] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[12] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[13] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[14] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[15] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[16] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[17] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[18] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[19] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[20] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[21] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[22] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[23] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[24] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[25] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[26] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[27] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[28] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[29] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[30] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[31] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[32] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[33] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[34] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[35] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[36] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[37] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[38] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[39] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[40] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[41] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[42] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[43] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[44] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[45] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[46] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[47] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[48] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[49] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[50] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[51] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[52] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[53] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[54] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[55] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[56] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[57] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[58] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[59] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[60] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[61] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[62] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: fast_dut_A[63] transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397222/B transitions 9999.0 activity 999899904.00 duty 0.50
read_vcd: g3397221/C transitions 9999.0 activity 999899904.00 duty 0.50
Annotated 182 pin activities.

14
test/read_vcd.tcl Normal file
View File

@ -0,0 +1,14 @@
read_liberty asap7_small.lib.gz
# Read verilog file and link design
read_verilog read_vcd.v
link_design dut
# Create clock
set_units -time ps
set clock_period 1000
create_clock -name clk -period $clock_period
# Read VCD file
sta::set_debug read_vcd 1
read_vcd -scope dut read_vcd.vcd

203
test/read_vcd.v Normal file
View File

@ -0,0 +1,203 @@
module dut(fast_dut_Y, fast_dut_A);
output fast_dut_Y;
wire fast_dut_Y;
input [63:0] fast_dut_A;
wire [63:0] fast_dut_A;
wire n_4069275;
wire n_4069276;
wire n_4069277;
wire n_4069278;
wire n_4069279;
wire n_4069280;
wire n_4069281;
wire n_4069282;
wire n_4069283;
wire n_4069284;
wire n_4069285;
wire n_4069286;
wire n_4069287;
wire n_4069288;
wire n_4069289;
wire n_4069290;
wire n_4069291;
wire n_4069292;
wire n_4069293;
wire n_4069294;
wire n_4069295;
wire n_4069296;
wire n_4069297;
wire n_4069298;
wire n_4069299;
wire n_4069300;
OAI21xp5_ASAP7_75t_SL g3393856 (
.A1(n_4069287),
.A2(n_4069300),
.B(fast_dut_A[63]),
.Y(fast_dut_Y)
);
NAND4xp75_ASAP7_75t_SL g3397213 (
.A(n_4069277),
.B(n_4069280),
.C(n_4069283),
.D(n_4069286),
.Y(n_4069287)
);
NOR2x1_ASAP7_75t_SL g3397214 (
.A(n_4069275),
.B(n_4069276),
.Y(n_4069277)
);
NAND4xp75_ASAP7_75t_SL g3397215 (
.A(fast_dut_A[13]),
.B(fast_dut_A[14]),
.C(fast_dut_A[0]),
.D(fast_dut_A[16]),
.Y(n_4069275)
);
NAND3xp33_ASAP7_75t_SL g3397216 (
.A(fast_dut_A[61]),
.B(fast_dut_A[51]),
.C(fast_dut_A[50]),
.Y(n_4069276)
);
NOR2x1_ASAP7_75t_SL g3397217 (
.A(n_4069278),
.B(n_4069279),
.Y(n_4069280)
);
NAND4xp75_ASAP7_75t_SL g3397218 (
.A(fast_dut_A[45]),
.B(fast_dut_A[44]),
.C(fast_dut_A[47]),
.D(fast_dut_A[46]),
.Y(n_4069278)
);
NAND4xp75_ASAP7_75t_SL g3397219 (
.A(fast_dut_A[49]),
.B(fast_dut_A[48]),
.C(fast_dut_A[53]),
.D(fast_dut_A[52]),
.Y(n_4069279)
);
NOR2x1_ASAP7_75t_SL g3397220 (
.A(n_4069281),
.B(n_4069282),
.Y(n_4069283)
);
NAND4xp75_ASAP7_75t_SL g3397221 (
.A(fast_dut_A[31]),
.B(fast_dut_A[12]),
.C(fast_dut_A[15]),
.D(fast_dut_A[6]),
.Y(n_4069281)
);
NAND4xp75_ASAP7_75t_SL g3397222 (
.A(fast_dut_A[21]),
.B(fast_dut_A[10]),
.C(fast_dut_A[38]),
.D(fast_dut_A[41]),
.Y(n_4069282)
);
NOR2x1_ASAP7_75t_SL g3397223 (
.A(n_4069284),
.B(n_4069285),
.Y(n_4069286)
);
NAND4xp75_ASAP7_75t_SL g3397224 (
.A(fast_dut_A[17]),
.B(fast_dut_A[29]),
.C(fast_dut_A[24]),
.D(fast_dut_A[23]),
.Y(n_4069284)
);
NAND4xp75_ASAP7_75t_SL g3397225 (
.A(fast_dut_A[37]),
.B(fast_dut_A[36]),
.C(fast_dut_A[35]),
.D(fast_dut_A[33]),
.Y(n_4069285)
);
NAND4xp75_ASAP7_75t_SL g3397226 (
.A(n_4069290),
.B(n_4069293),
.C(n_4069296),
.D(n_4069299),
.Y(n_4069300)
);
NOR2x1_ASAP7_75t_SL g3397227 (
.A(n_4069288),
.B(n_4069289),
.Y(n_4069290)
);
NAND4xp75_ASAP7_75t_SL g3397228 (
.A(fast_dut_A[58]),
.B(fast_dut_A[55]),
.C(fast_dut_A[56]),
.D(fast_dut_A[1]),
.Y(n_4069288)
);
NAND4xp75_ASAP7_75t_SL g3397229 (
.A(fast_dut_A[60]),
.B(fast_dut_A[59]),
.C(fast_dut_A[3]),
.D(fast_dut_A[25]),
.Y(n_4069289)
);
NOR2x1_ASAP7_75t_SL g3397230 (
.A(n_4069291),
.B(n_4069292),
.Y(n_4069293)
);
NAND4xp75_ASAP7_75t_SL g3397231 (
.A(fast_dut_A[54]),
.B(fast_dut_A[57]),
.C(fast_dut_A[11]),
.D(fast_dut_A[62]),
.Y(n_4069291)
);
NAND4xp75_ASAP7_75t_SL g3397232 (
.A(fast_dut_A[20]),
.B(fast_dut_A[22]),
.C(fast_dut_A[19]),
.D(fast_dut_A[28]),
.Y(n_4069292)
);
NOR2x1_ASAP7_75t_SL g3397233 (
.A(n_4069294),
.B(n_4069295),
.Y(n_4069296)
);
NAND4xp75_ASAP7_75t_SL g3397234 (
.A(fast_dut_A[32]),
.B(fast_dut_A[43]),
.C(fast_dut_A[42]),
.D(fast_dut_A[39]),
.Y(n_4069294)
);
NAND4xp75_ASAP7_75t_SL g3397235 (
.A(fast_dut_A[26]),
.B(fast_dut_A[34]),
.C(fast_dut_A[40]),
.D(fast_dut_A[30]),
.Y(n_4069295)
);
NOR2x1_ASAP7_75t_SL g3397236 (
.A(n_4069297),
.B(n_4069298),
.Y(n_4069299)
);
NAND4xp75_ASAP7_75t_SL g3397237 (
.A(fast_dut_A[27]),
.B(fast_dut_A[2]),
.C(fast_dut_A[9]),
.D(fast_dut_A[4]),
.Y(n_4069297)
);
NAND4xp75_ASAP7_75t_SL g3397238 (
.A(fast_dut_A[5]),
.B(fast_dut_A[8]),
.C(fast_dut_A[18]),
.D(fast_dut_A[7]),
.Y(n_4069298)
);
endmodule

1330357
test/read_vcd.vcd Normal file

File diff suppressed because it is too large Load Diff

View File

@ -154,6 +154,7 @@ record_sta_tests {
package_require
path_group_names
prima3
read_vcd
report_checks_sorted
report_checks_src_attr
report_json1