@@ -1046,3 +1046,159 @@ An example of what a generated routing resource graph file would look like is sh
1046
1046
</rr_edges >
1047
1047
</rr_graph >
1048
1048
.. _end :
1049
+
1050
+ Block types usage summary (.txt .xml or .json)
1051
+ -----------------------------------------
1052
+
1053
+ Block types usage summary is a file written in human or machine readable format.
1054
+ It describes types and the amount of cluster-level FPGA resources that are used
1055
+ by implemented design. This file is generated after the placement step with
1056
+ option: `--write_block_usage <filename> `. It can be saved as a human readable
1057
+ text file or in XML or JSON file to provide machine readable output. Format is
1058
+ selected based on the extension of the `<filename> `.
1059
+
1060
+ The summary consists of 4 parameters:
1061
+
1062
+ * `nets number ` - the amount of created nets
1063
+ * `blocks number ` - sum of blocks used to implement the design
1064
+ * `input pins ` - sum of input pins
1065
+ * `output pins ` - sum of output pins
1066
+
1067
+ and a list of `block types ` followed by the number of specific block types that
1068
+ are used in the design.
1069
+
1070
+ TXT
1071
+ ~~~
1072
+
1073
+ Presents the information in human readable format, the same as in log output:
1074
+
1075
+ .. code-block :: none
1076
+ :caption: TXT format of block types usage summary
1077
+ :linenos:
1078
+
1079
+ Netlist num_nets: <int>
1080
+ Netlist num_blocks: <int>
1081
+ Netlist <block_type_name_0> blocks: <int>
1082
+ Netlist <block_type_name_1> blocks: <int>
1083
+ ...
1084
+ Netlist <block_type_name_n> blocks: <int>
1085
+ Netlist inputs pins: <int>
1086
+ Netlist output pins: <int>
1087
+
1088
+ .. _end :
1089
+
1090
+ JSON
1091
+ ~~~~
1092
+
1093
+ One of two available machine readable formats. The information is written as follows:
1094
+
1095
+ .. code-block :: json
1096
+ :caption: JSON format of block types usage summary
1097
+ :linenos:
1098
+
1099
+ {
1100
+ "num_nets" : " <int>" ,
1101
+ "num_blocks" : " <int>" ,
1102
+ "input_pins" : " <int>" ,
1103
+ "output_pins" : " <int>" ,
1104
+ "blocks" : {
1105
+ "<block_type_name_0>" : <int>,
1106
+ "<block_type_name_1>" : <int>,
1107
+ ...
1108
+ "<block_type_name_n>" : <int>
1109
+ }
1110
+ }
1111
+
1112
+ .. _end :
1113
+
1114
+ XML
1115
+ ~~~
1116
+
1117
+ Second machine readable format. The information is written as follows:
1118
+
1119
+ .. code-block :: xml
1120
+ :caption: XML format of block types usage summary
1121
+ :linenos:
1122
+
1123
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
1124
+ <block_usage_report >
1125
+ <nets num =" <int>" ></nets >
1126
+ <blocks num =" <int>" >
1127
+ <block type =" <block_type_name_0>" usage =" <int>" ></block >
1128
+ <block type =" <block_type_name_1>" usage =" <int>" ></block >
1129
+ ...
1130
+ <block type =" <block_type_name_n>" usage =" <int>" ></block >
1131
+ </blocks >
1132
+ <input_pins num =" <int>" ></input_pins >
1133
+ <output_pins num =" <int>" ></output_pins >
1134
+ </block_usage_report >
1135
+
1136
+ .. _end :
1137
+
1138
+ Timing summary (.txt .xml or .json)
1139
+ -----------------------------------------
1140
+
1141
+ Timing summary is a file written in human or machine readable format.
1142
+ It describes final timing parameters of design implemented for the FPGA device.
1143
+ This file is generated after the routing step with option: `--write_timing_summary <filename> `.
1144
+ It can be saved as a human readable text file or in XML or JSON file to provide
1145
+ machine readable output. Format is selected based on the extension of the `<filename> `.
1146
+
1147
+ The summary consists of 4 parameters:
1148
+
1149
+ * `Critical Path Delay (cpd) [ns] `
1150
+ * `Max Circuit Frequency (Fmax) [MHz] `
1151
+ * `setup Worst Negative Slack (sWNS) [ns] `
1152
+ * `setup Total Negative Slack (sTNS) [ns] `
1153
+
1154
+ TXT
1155
+ ~~~
1156
+
1157
+ Presents the information in human readable format, the same as in log output:
1158
+
1159
+ .. code-block :: none
1160
+ :caption: TXT format of timing summary
1161
+ :linenos:
1162
+
1163
+ Final critical path delay (least slack): <double> ns, Fmax: <double> MHz
1164
+ Final setup Worst Negative Slack (sWNS): <double> ns
1165
+ Final setup Total Negative Slack (sTNS): <double> ns
1166
+
1167
+ .. _end :
1168
+
1169
+ JSON
1170
+ ~~~~
1171
+
1172
+ One of two available machine readable formats. The information is written as follows:
1173
+
1174
+ .. code-block :: json
1175
+ :caption: JSON format of timing summary
1176
+ :linenos:
1177
+
1178
+ {
1179
+ "cpd" : <double>,
1180
+ "fmax" : <double>,
1181
+ "swns" : <double>,
1182
+ "stns" : <double>
1183
+ }
1184
+
1185
+ .. _end :
1186
+
1187
+ XML
1188
+ ~~~
1189
+
1190
+ Second machine readable format. The information is written as follows:
1191
+
1192
+ .. code-block :: xml
1193
+ :caption: XML format of timing summary
1194
+ :linenos:
1195
+
1196
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
1197
+ <timing_summary_report >
1198
+ <cpd value =" <double>" unit =" ns" description =" Final critical path delay" ></nets >
1199
+ <fmax value =" <double>" unit =" MHz" description =" Max circuit frequency" ></fmax >
1200
+ <swns value =" <double>" unit =" ns" description =" setup Worst Negative Slack (sWNS)" ></swns >
1201
+ <stns value =" <double>" unit =" ns" description =" setup Total Negative Slack (sTNS)" ></stns >
1202
+ </block_usage_report >
1203
+
1204
+ .. _end :
0 commit comments