-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create Xilinx library #144
Comments
SpyDrNet-SHREC repo has this functioning already. The code from there should be migrated to SpyDrNet as it isn't specific to TMR and can be useful for other purposes |
Issue #179 addresses part of this. The parser is able to load in the library and use that info to define port directions for primitives. |
The SpyDrNet TMR/SHREC functionality of this is different. That is for knowing types of primitives such as which ones are flip flops. I suppose these two functionalities may be able to be merged but I don't know how important that is to us. |
Can you expand on your comment? I am not quite following what you are saying here. Can you explain in detail how it is currently done so I better understand? |
In SpyDrNet, one can specify what architecture the netlist is for (e.g. Xilinx 7-Series) so when the netlist is parsed, port directions of each primitive are known. It's the equivalent of having `celldefine statements in every netlist. Without this, port directions of primitives (specifically in verilog netlists) are undefined. An example is:
This will populate all the port directions of each Lattice LIFCL primitive during parsing. In SpyDrNet-TMR, there are databases (actually just one right now for Xilinx 7-Series) that specify what type of primitive each primitive is i.e. FDRE is a flip flop, OBUF is a buffer, etc. This aids in locating voter insertion spots (like finding flip flops). For example, the following command automatically finds the Xilinx 7-Series flip flops in the design without needing to specify the actual primitive names:
|
Represent Xilinx built in primitives and provide functions for more easily dealing with Xilinx-specific primitives.
Example uses:
The text was updated successfully, but these errors were encountered: