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