You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/src/mosaic/index.rst
-6Lines changed: 0 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,3 @@ Mosaic is a Yosys-based synthesis frontend for VTR, it is an alternative to Pamr
14
14
Select Mosaic with ``-start mosaic`` on :ref:`run_vtr_flow`. Parmys remains the default frontend. Mosaic writes a LUT-mapped BLIF (``<circuit>.mosaic.blif``), so the flow skips the external ABC stage and continues into VPR.
15
15
16
16
The default VTR build includes Mosaic (``WITH_MOSAIC``, default ``ON``). The plugin is installed at ``build/share/yosys/plugins/mosaic.so``.
Copy file name to clipboardExpand all lines: doc/src/vpr/command_line_usage.rst
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -862,6 +862,8 @@ For people not working on CAD, you can probably leave all the options to their d
862
862
863
863
Controls the verbosity of clustering output.
864
864
Larger values produce more detailed output, which may be useful for debugging architecture packing problems.
865
+
At ``2`` (the default) the clustered-netlist check prints only aggregate counts of unusual blocks (e.g. single-output blocks that may be constant generators).
866
+
At ``3`` or higher these blocks are also listed individually.
intmark_constant_generators(AtomNetlist& netlist, e_const_gen_inference const_gen_inference_method, const LogicalModels& models, int verbosity) {
417
417
int num_undriven_pins_marked_const = mark_undriven_primitive_outputs_as_constant(netlist, verbosity);
418
-
VTR_LOGV(verbosity > 0, "Inferred %4d additional primitive pins as constant generators since they have no combinationally connected inputs\n", num_undriven_pins_marked_const);
418
+
// A primitive output with nothing feeding it can never change, so it is marked as a constant.
int logical_pin = clb_nlist.pin_logical_index(pin_id);
1044
1048
int physical_pin = get_physical_pin(tile_type, block_type, logical_pin);
1045
1049
1046
1050
if (tile_type->is_ignored_pin[physical_pin] != is_ignored_net) {
1047
-
VTR_LOG_WARN(
1048
-
"Netlist connects net %s to both global and non-global pins.\n",
1049
-
clb_nlist.net_name(net_id).c_str());
1051
+
++num_mixed_global_nets;
1052
+
// The net reaches an ignored (global) pin, so the whole net is
1053
+
// treated as global and left unrouted; its non-global sinks get
1054
+
// ideal (zero) delay instead of a routed connection.
1055
+
VTR_LOGV_WARN(verbosity > 2,
1056
+
"Net '%s' connects both routed pins and ignored (global) pins; it will be treated as global and left unrouted, with ideal delay on its non-global sinks.\n",
1057
+
clb_nlist.net_name(net_id).c_str());
1058
+
break;
1050
1059
}
1051
1060
}
1052
1061
}
1062
+
1063
+
VTR_LOGV_WARN(num_mixed_global_nets > 0,
1064
+
"Found %d net(s) mixing routed and ignored pins; these are left unrouted with ideal delay. "
1065
+
"This is expected for clock nets under --clock_modeling ideal; use --clock_modeling route or dedicated_network to route them.%s\n",
1066
+
num_mixed_global_nets,
1067
+
verbosity > 2 ? "" : " (run with --pack_verbosity 3 to list the nets)");
1053
1068
}
1054
1069
1055
1070
staticvoidmark_constant_generators(const ClusteredNetlist& clb_nlist, int verbosity) {
0 commit comments