File tree Expand file tree Collapse file tree 3 files changed +17
-11
lines changed Expand file tree Collapse file tree 3 files changed +17
-11
lines changed Original file line number Diff line number Diff line change @@ -148,6 +148,11 @@ example:
148
148
</meta >
149
149
</metadata >
150
150
151
+ FASM LUT metadata must be attached to the ``<pb_type> `` at or directly above
152
+ the ``<pb_type> `` with ``blif_model=".names" ``. The FASM LUT metadata tags
153
+ will not be recognized attached inside of ``<mode> `` tags or inside
154
+ ``<pb_type> ``'s higher than 1 level above the leaf type.
155
+
151
156
When specifying a FASM features with more than one bit, explicitly specify the
152
157
bit range being set. This is required because "genfasm" does not have access
153
158
to the actual bit database, and would otherwise not have the width of the
Original file line number Diff line number Diff line change @@ -374,14 +374,17 @@ static const t_metadata_dict *get_fasm_type(const t_pb_graph_node* pb_graph_node
374
374
return nullptr ;
375
375
}
376
376
377
- t_metadata_dict *meta = nullptr ;
377
+ const t_metadata_dict *meta = nullptr ;
378
378
if (pb_graph_node->pb_type ->meta .has (" fasm_type" )) {
379
379
meta = &pb_graph_node->pb_type ->meta ;
380
380
}
381
381
382
- if (pb_graph_node->pb_type ->parent_mode != nullptr &&
383
- pb_graph_node->pb_type ->parent_mode ->meta .has (" fasm_type" )) {
384
- meta = &pb_graph_node->pb_type ->parent_mode ->meta ;
382
+ if (pb_graph_node->pb_type ->parent_mode != nullptr ) {
383
+ VTR_ASSERT (pb_graph_node->pb_type ->parent_mode ->parent_pb_type != nullptr );
384
+ const t_pb_type *pb_type = pb_graph_node->pb_type ->parent_mode ->parent_pb_type ;
385
+ if (pb_type->meta .has (" fasm_type" )) {
386
+ meta = &pb_type->meta ;
387
+ }
385
388
}
386
389
387
390
if (meta != nullptr && meta->one (" fasm_type" )->as_string () == target_type) {
Original file line number Diff line number Diff line change 122
122
235e-12
123
123
235e-12
124
124
</delay_matrix >
125
- <metadata >
126
- <meta name =" fasm_type" >LUT</meta >
127
- <meta name =" fasm_lut" >
128
- LUT[31:0] = LUT
129
- </meta >
130
- </metadata >
131
125
</pb_type >
132
126
133
127
<pb_type name =" ff" blif_model =" .latch" num_pb =" 1" class =" flipflop" >
156
150
</mux >
157
151
</interconnect >
158
152
<metadata >
153
+ <meta name =" fasm_type" >LUT</meta >
154
+ <meta name =" fasm_lut" >
155
+ LUT[31:0]
156
+ </meta >
159
157
<meta name =" fasm_prefix" >
160
158
LUT5_0 LUT5_1
161
159
</meta >
199
197
<metadata >
200
198
<meta name =" fasm_type" >LUT</meta >
201
199
<meta name =" fasm_lut" >
202
- LUT6[63:0] = LUT
200
+ LUT6[63:0]
203
201
</meta >
204
202
</metadata >
205
203
</pb_type >
You can’t perform that action at this time.
0 commit comments