|
92 | 92 | //File local type declarations
|
93 | 93 | //
|
94 | 94 |
|
| 95 | +// This pair cointains the following values: |
| 96 | +// - double: hold, setup or clock-to-q delays of the port |
| 97 | +// - string: port name of the associated source clock pin of the sequential port |
95 | 98 | typedef std::pair<double, std::string> sequential_port_delay_pair;
|
96 | 99 |
|
97 | 100 | /*enum class PortType {
|
@@ -1622,6 +1625,14 @@ class NetlistWriterVisitor : public NetlistVisitor {
|
1622 | 1625 | std::map<std::string, std::vector<std::string>> input_port_conns;
|
1623 | 1626 | std::map<std::string, std::vector<std::string>> output_port_conns;
|
1624 | 1627 | std::vector<Arc> timing_arcs;
|
| 1628 | + |
| 1629 | + // Maps to store a sink's port with the corresponding timing edge to that sink |
| 1630 | + // - key : string corresponding to the port's name |
| 1631 | + // - value : pair with the delay and the associated clock pin port name |
| 1632 | + // |
| 1633 | + // tsu : Setup |
| 1634 | + // thld: Hold |
| 1635 | + // tcq : Clock-to-Q |
1625 | 1636 | std::map<std::string, sequential_port_delay_pair> ports_tsu;
|
1626 | 1637 | std::map<std::string, sequential_port_delay_pair> ports_thld;
|
1627 | 1638 | std::map<std::string, sequential_port_delay_pair> ports_tcq;
|
@@ -1651,7 +1662,7 @@ class NetlistWriterVisitor : public NetlistVisitor {
|
1651 | 1662 | net = make_inst_wire(atom_net_id, src_tnode, inst_name, PortType::INPUT, iport, ipin);
|
1652 | 1663 | //Delays
|
1653 | 1664 | //
|
1654 |
| - //We record the souce sink tnodes and thier delays here |
| 1665 | + //We record the source's sink tnodes and their delays here |
1655 | 1666 | for (tatum::EdgeId edge : timing_ctx.graph->node_out_edges(src_tnode)) {
|
1656 | 1667 | double delay = delay_calc_->max_edge_delay(*timing_ctx.graph, edge);
|
1657 | 1668 |
|
|
0 commit comments