summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--interchange/DeviceResources.capnp8
1 files changed, 8 insertions, 0 deletions
diff --git a/interchange/DeviceResources.capnp b/interchange/DeviceResources.capnp
index 5a52bec..465e212 100644
--- a/interchange/DeviceResources.capnp
+++ b/interchange/DeviceResources.capnp
@@ -242,6 +242,14 @@ struct Device {
struct PrimToMacroExpansion {
primName @0 : StringIdx $stringRef();
macroName @1 : StringIdx $stringRef();
+ # Optionally, primitive to macro expansions can be conditional on a
+ # parameter match. For example, I/O buffer expansions might be
+ # different between true and pseudo differential IO types. The
+ # expansion is used if **any** of the parameters specified match.
+ union {
+ always @2 : Void;
+ parameters @3 : List(Dir.Netlist.PropertyMap.Entry);
+ }
}
# Cell <-> BEL and Cell pin <-> BEL Pin mapping