How to check whether an EDIFCell is a sequential primitive? #781
-
Hi everyone, Given an EDIFCell, I wonder if there is a way to check if it is sequential (e.g., FDRE, SRL)? In Vivado, we do this by checking the IS_SEQUENTIAL property of the Cell / CellInst. Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
It turns out that in order to correctly emulate this flag in RapidWright, we'll need to annotate the clock pins on the Unisim primitives and be able to identify if they are in use. Currently, that annotation is not available, but we can add it if that is a valuable capability for you to have. It is possible to mock up a pseudo version of this functionality by checking the primitive cell type against a known set of primitives (FDRE, SRL, RAMB36, etc.), but there are instances where certain cells, depending on how they are configured can be sequential or not and how the cells are configured would have to be hard coded into the method. |
Beta Was this translation helpful? Give feedback.
-
Hi Chris, thanks for the explanation! Seems that it's somewhat complicated to add the feature. It's not a big issue, so I'll just check primitive types to bypass the issue and move forward :) BTW the context is that we need to extract the peripheral logic (inside an island) connected to anchors (outside the island). We want to get a skeleton design for anchor placement. |
Beta Was this translation helpful? Give feedback.
It turns out that in order to correctly emulate this flag in RapidWright, we'll need to annotate the clock pins on the Unisim primitives and be able to identify if they are in use. Currently, that annotation is not available, but we can add it if that is a valuable capability for you to have.
It is possible to mock up a pseudo version of this functionality by checking the primitive cell type against a known set of primitives (FDRE, SRL, RAMB36, etc.), but there are instances where certain cells, depending on how they are configured can be sequential or not and how the cells are configured would have to be hard coded into the method.