@@ -9,6 +9,15 @@ enables a place and route tool to succeed.
9
9
Good design is hard to capture, but this document will talk about some of the
10
10
considerations.
11
11
12
+ ### Assumptions about cell placement and driver BEL pins
13
+
14
+ One important note is that BELs represent a placable location for a cell, and
15
+ only one cell should be placable at a given BEL. This means that the cell
16
+ library design and BEL design strongly affects what is expressable by the
17
+ place and route tool. There will be some examples highlighted below that
18
+ expand on how this is important and relevant when discussing concrete
19
+ examples.
20
+
12
21
## Granularity of the cell library
13
22
14
23
It is important to divide the place and route problem and the synthesis
@@ -188,3 +197,19 @@ So given the Versal site layout, the following BELs will be required (per SLICE
188
197
- 1 LUT4 BELs that connect to the carry
189
198
- 2 LUT5 BELs that connect to the output FF or output MUX
190
199
- 1 LUT6 BELs that connect to the output FF or output MUX
200
+
201
+ #### Implication of a wider BEL definition
202
+
203
+ Consider the Versal structure, but instead of drawing four BELs per row, only have two
204
+ BELs per row. One BEL has the ` O5_1 ` and ` prop ` output BEL pins and the
205
+ other BEL has the ` O6 ` and ` O5_2 ` BEL pin. In this configuration, if the cell
206
+ library does not expose a cell that maps to both the ` O5_1 ` and ` prop ` output
207
+ BEL pins, then it will not be possible to map LUTs that leverage both output
208
+ BEL pins.
209
+
210
+ In theory, the cell port to BEL pin map could map the output pin of a LUT4
211
+ element to both the ` prop ` and ` O5_1 ` output BEL pins, but then there will be
212
+ two output BEL pins driving the net connected to the cell port. Having
213
+ multiple BEL pins driving one net is not legal, except for the global logic 0
214
+ and 1.
215
+
0 commit comments